diff --git a/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/AtomicSequenceCacheAbs.java b/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/AtomicSequenceCacheAbs.java index d7e2085..ee91db5 100644 --- a/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/AtomicSequenceCacheAbs.java +++ b/muyu-common/muyu-common-cache/src/main/java/com/muyu/common/cache/abs/AtomicSequenceCacheAbs.java @@ -22,12 +22,12 @@ public abstract class AtomicSequenceCacheAbs implements AtomicSequenceCache implements HashCache { /** * 编码 + * * @param key ID + * * @return 键 */ @Override @@ -166,14 +165,14 @@ public abstract class HashCacheAbs implements HashCache { } /** - * 判断reids中hashKey是否存在 - * @param key redis键 + * 判断redis中hashKey是否存在 + * + * @param key redis键 * @param hashKey hash键 - * @return */ @Override - public boolean hasKey(K key, HK hashKey) { - return redisService.hasKey(encode(key),encodeHashKey(hashKey)); + public boolean hasKey (K key, HK hashKey) { + return redisService.hashKey(encode(key), encodeHashKey(hashKey)); } /** diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectInfoCache.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectInfoCache.java index 9ea5ff9..ca349d3 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectInfoCache.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectInfoCache.java @@ -1,37 +1,20 @@ package com.muyu.product.cache; -import com.muyu.common.cache.HashCache; import com.muyu.common.cache.abs.CacheAbs; import com.muyu.common.core.text.Convert; import com.muyu.product.cache.datasource.ProjectInfoData; import com.muyu.product.domain.ProjectInfo; -import com.muyu.product.domain.ProjectSkuInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.List; - /** - * @author yangle + * @author DongZl * @description: 商品缓存 * @Date 2024-3-27 下午 03:30 */ @Component public class ProjectInfoCache extends CacheAbs { - public static void main (String[] args) { - Long projectId = 10L; - HashCache hashCache = null; - List projectSkuInfoList = new ArrayList<>(){{ - add(new ProjectSkuInfo()); - add(new ProjectSkuInfo()); - }}; - hashCache.put(projectId, projectSkuInfoList, ProjectSkuInfo::getProjectId); - Long[] longArr = new Long[]{10L,11L,12L,13L,14L,15L}; - hashCache.get(projectId, longArr); - } - @Autowired private ProjectInfoData projectInfoData; diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuCache.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuCache.java index c004026..266fbeb 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuCache.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuCache.java @@ -11,7 +11,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author yangle + * @author DongZl * @description: 商品sku基本信息 * @Date 2024-3-29 下午 03:06 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuStockCache.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuStockCache.java index a3c17b6..b95e9a9 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuStockCache.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/ProjectSkuStockCache.java @@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** - * @author yangle + * @author DongZl * @description: 商品SKU库存缓存 * @Date 2024-3-29 下午 03:06 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/RuleInfoCache.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/RuleInfoCache.java index 4fdaa60..1e68a0f 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/RuleInfoCache.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/RuleInfoCache.java @@ -7,43 +7,23 @@ import com.muyu.product.cache.model.RuleCacheModel; import org.springframework.beans.factory.annotation.Autowired; /** - * 规格缓存 RuleInfoCache - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格缓存 + * @Date 2024/4/7 下午8:29 */ +public class RuleInfoCache extends CacheAbs { -public class RuleInfoCache extends CacheAbs { @Autowired private RuleCacheData ruleCacheData; /** - * 从数据库获取数据 - * @param key ID - * @return 缓存对象 + * key前缀 + * + * @return key前缀 */ @Override - public RuleCacheModel getData(Long key) { - return ruleCacheData.getRulerCacheModel(key); - } - - /** - * 默认值 - * @return - */ - @Override - public RuleCacheModel defaultValue() { - return new RuleCacheModel(); - } - - /** - * 前缀 - * @return key 前缀 - */ - - @Override - public String keyPre() { - return "rule:info"; + public String keyPre () { + return "rule:info:"; } /** @@ -52,7 +32,29 @@ public class RuleInfoCache extends CacheAbs { * @return ID */ @Override - public Long decode(String redisKey) { + public Long decode (String redisKey) { return Convert.toLong(redisKey.replace(keyPre(), "")); } + + + /** + * 从数据库获取数据 + * + * @param key ID + * + * @return 缓存对象 + */ + @Override + public RuleCacheModel getData (Long key) { + return ruleCacheData.getRuleCacheModel(key); + } + + /** + * 默认值 + */ + @Override + public RuleCacheModel defaultValue () { + return new RuleCacheModel(); + } + } diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectInfoData.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectInfoData.java index cc5aa2d..0fb0000 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectInfoData.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectInfoData.java @@ -3,7 +3,7 @@ package com.muyu.product.cache.datasource; import com.muyu.product.domain.ProjectInfo; /** - * @author yangle + * @author DongZl * @description: 缓存数据获取 * @Date 2024-3-27 下午 03:34 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuData.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuData.java index b10ae9d..c52f74d 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuData.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuData.java @@ -5,7 +5,7 @@ import com.muyu.product.domain.ProjectSkuInfo; import java.util.Map; /** - * @author yangle + * @author DongZl * @description: 商品SKU数据库读取 * @Date 2024-4-1 上午 11:35 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuStockData.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuStockData.java index a952077..c786c72 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuStockData.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/ProjectSkuStockData.java @@ -3,7 +3,7 @@ package com.muyu.product.cache.datasource; import com.muyu.product.cache.key.SkuStockKey; /** - * @author yangle + * @author DongZl * @description: SKU库存 * @Date 2024-4-2 上午 10:52 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/RuleCacheData.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/RuleCacheData.java index 4ac6683..884f861 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/RuleCacheData.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/RuleCacheData.java @@ -3,14 +3,11 @@ package com.muyu.product.cache.datasource; import com.muyu.product.cache.model.RuleCacheModel; /** - * 规格缓存数据获取 RuleCacheData - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格缓存数据获取 + * @Date 2024/4/7 下午8:31 */ - public interface RuleCacheData { -public RuleCacheModel getRulerCacheModel(Long ruleId); - + public RuleCacheModel getRuleCacheModel(Long ruleId); } diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectInfoDataRemoteImpl.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectInfoDataRemoteImpl.java index 4665b97..8fb9521 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectInfoDataRemoteImpl.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectInfoDataRemoteImpl.java @@ -1,24 +1,14 @@ package com.muyu.product.cache.datasource.impl; - import com.muyu.common.core.domain.Result; - import com.muyu.product.cache.datasource.ProjectInfoData; -import com.muyu.product.cache.datasource.ProjectSkuData; import com.muyu.product.domain.ProjectInfo; -import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.remote.RemoteProjectInfoService; -import com.muyu.product.remote.RemoteProjectSkuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - /** - * @author yangle + * @author DongZl * @description: 缓存数据获取 * @Date 2024-3-27 下午 03:37 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java index f5e162d..0c9759f 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java @@ -1,12 +1,8 @@ package com.muyu.product.cache.datasource.impl; - import com.muyu.common.core.domain.Result; -import com.muyu.product.cache.datasource.ProjectInfoData; import com.muyu.product.cache.datasource.ProjectSkuData; -import com.muyu.product.domain.ProjectInfo; import com.muyu.product.domain.ProjectSkuInfo; -import com.muyu.product.remote.RemoteProjectInfoService; import com.muyu.product.remote.RemoteProjectSkuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -17,7 +13,7 @@ import java.util.Map; import java.util.stream.Collectors; /** - * @author yangle + * @author DongZl * @description: 商品SKU实现类 * @Date 2024-4-1 上午 11:38 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuStockDataRemoteImpl.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuStockDataRemoteImpl.java index 05b3bce..2869967 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuStockDataRemoteImpl.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuStockDataRemoteImpl.java @@ -1,6 +1,5 @@ package com.muyu.product.cache.datasource.impl; - import com.muyu.common.core.domain.Result; import com.muyu.product.cache.datasource.ProjectSkuStockData; import com.muyu.product.cache.key.SkuStockKey; @@ -12,7 +11,7 @@ import org.springframework.stereotype.Service; import java.util.Objects; /** - * @author yangle + * @author DongZl * @description: sku库存实现类 * @Date 2024-4-2 上午 10:53 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/RuleCacheDataRemoteImpl.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/RuleCacheDataRemoteImpl.java index a514540..09b63f8 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/RuleCacheDataRemoteImpl.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/RuleCacheDataRemoteImpl.java @@ -13,10 +13,9 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.List; /** - * 规格数据获取实现层 默认就读远程调用 RuleCacheDataImpl - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格数据获取实现层 默认就读取远程调用 + * @Date 2024/4/7 下午8:32 */ public class RuleCacheDataRemoteImpl implements RuleCacheData { @@ -26,10 +25,8 @@ public class RuleCacheDataRemoteImpl implements RuleCacheData { @Autowired private RemoteRuleAttrService remoteRuleAttrService; - - @Override - public RuleCacheModel getRulerCacheModel(Long ruleId) { + public RuleCacheModel getRuleCacheModel (Long ruleId) { Result ruleInfoResult = remoteRuleService.getInfo(ruleId); Result> ruleAttrResult = remoteRuleAttrService.getInfoByRuleId(ruleId); if (Result.isError(ruleInfoResult) || Result.isError(ruleAttrResult)) { diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/key/SkuStockKey.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/key/SkuStockKey.java index 8cb2b21..90f4591 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/key/SkuStockKey.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/key/SkuStockKey.java @@ -6,7 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @author yangle + * @author DongZl * @description: 商品SKU库存Key * @Date 2024-4-2 上午 10:41 */ diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleAttrCacheModel.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleAttrCacheModel.java index bad1a79..5b3b2d6 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleAttrCacheModel.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleAttrCacheModel.java @@ -10,16 +10,16 @@ import java.util.Arrays; import java.util.List; /** - * 规格类型缓存模型 - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格类型缓存模型 + * @Date 2024/4/7 下午8:41 */ @Data @Builder -@AllArgsConstructor @NoArgsConstructor +@AllArgsConstructor public class RuleAttrCacheModel { + /** * 类目名称 */ @@ -28,15 +28,12 @@ public class RuleAttrCacheModel { /** * 规格值 */ - private List attrValueList; + private List attrValueList; - public static RuleAttrCacheModel ruleAttrBuild(RuleAttrInfo ruleAttrInfo){ + public static RuleAttrCacheModel ruleAttrBuild (RuleAttrInfo ruleAttrInfo) { return RuleAttrCacheModel.builder() .attrName(ruleAttrInfo.getName()) .attrValueList(Arrays.stream(ruleAttrInfo.getAttrValue().split(",")).toList()) .build(); } - - - } diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleCacheModel.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleCacheModel.java index cba2204..aa0b44d 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleCacheModel.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/model/RuleCacheModel.java @@ -8,20 +8,21 @@ import lombok.NoArgsConstructor; import java.util.List; /** - * 规格缓存模型 RuleCacheModel - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格缓存模型 + * @Date 2024/4/7 下午8:27 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class RuleCacheModel { + /** * 规格名称 */ private String ruleName; + /** * 规格缓存模型 */ diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java index 2b0a354..fd88ca8 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java @@ -4,18 +4,15 @@ import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.product.domain.ProjectInfo; import com.muyu.product.remote.factory.RemoteProjectInfoFactory; -import com.muyu.product.remote.factory.RemoteProjectSkuFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; /** - * 规格远程调用业务层 - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ - @FeignClient( contextId = "remoteProjectInfoService", value = ServiceNameConstants.PRODUCT_SERVICE, @@ -26,7 +23,7 @@ public interface RemoteProjectInfoService { /** * 获取商品信息详细信息 */ - @GetMapping(value = "/{id}") - public Result getInfo(@PathVariable("id") Long id); + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) ; } diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java index 3cb051b..177ced8 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java @@ -11,10 +11,9 @@ import org.springframework.web.bind.annotation.PathVariable; import java.util.List; /** - * 远程调用业务层 RemoteProjectSkuService - * - * @author LeYang - * on 2024/4/7 + * @author DongZl + * @description: 远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ @FeignClient( contextId = "remoteProjectSkuService", @@ -23,21 +22,21 @@ import java.util.List; path = "/sku" ) public interface RemoteProjectSkuService { + /** - * 通过商品ID和sku获取sku信息 - * @param projectId 商品id - * @param projectSku 商品sku - * @return 商品sku信息 + * 通过商品ID和SKU获取SKU信息 + * @param projectId 商品ID + * @param projectSku 商品SKU + * @return 商品SKU信息 */ @GetMapping("/info/{projectId}/{projectSku}") public Result getInfoByProjectIdAndSku(@PathVariable("projectId") Long projectId, @PathVariable("projectSku") String projectSku); - /** - * 通过商品ID获取SKU集合 + * 通过商品ID和SKU获取SKU信息 * @param projectId 商品ID * @return 商品SKU信息 */ @GetMapping("/list/{projectId}") - public Result> listByProjectId(@PathVariable("projectId")Long projectId); + public Result> listByProjectId(@PathVariable("projectId") Long projectId); } diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleAttrService.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleAttrService.java index 90a4e0f..6268dd2 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleAttrService.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleAttrService.java @@ -2,8 +2,12 @@ package com.muyu.product.remote; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; +import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.RuleAttrInfo; +import com.muyu.product.remote.factory.RemoteProjectSkuFactory; import com.muyu.product.remote.factory.RemoteRuleAttrFactory; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -11,10 +15,9 @@ import org.springframework.web.bind.annotation.PathVariable; import java.util.List; /** - * 规格信息远程调用业务层 - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格信息远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ @FeignClient( contextId = "remoteRuleAttrService", @@ -23,6 +26,9 @@ import java.util.List; path = "/ruleAttr" ) public interface RemoteRuleAttrService { + /** + * 获取规格详情详细信息 + */ @GetMapping(value = "/list/ruleId/{ruleId}") - public Result> getInfoByRuleId(@PathVariable("id") Long id); + public Result> getInfoByRuleId(@PathVariable("ruleId") Long id); } diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleService.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleService.java index 2f001cd..14a5ad3 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleService.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteRuleService.java @@ -2,17 +2,20 @@ package com.muyu.product.remote; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; +import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.RuleInfo; +import com.muyu.product.remote.factory.RemoteProjectSkuFactory; import com.muyu.product.remote.factory.RemoteRuleFactory; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; /** - * 规格远程调用业务层 - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ @FeignClient( contextId = "remoteRuleService", @@ -22,8 +25,8 @@ import org.springframework.web.bind.annotation.PathVariable; ) public interface RemoteRuleService { /** - * 获取商品规格详情信息 + * 获取商品规格详细信息 */ - @GetMapping(value = "/{id}") - public Result getInfo(@PathVariable("id") Long id ); + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id); } diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectInfoFactory.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectInfoFactory.java index 65534d1..e07d42f 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectInfoFactory.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectInfoFactory.java @@ -2,29 +2,30 @@ package com.muyu.product.remote.factory; import com.muyu.common.core.domain.Result; import com.muyu.product.domain.ProjectInfo; +import com.muyu.product.domain.RuleInfo; import com.muyu.product.remote.RemoteProjectInfoService; +import com.muyu.product.remote.RemoteRuleService; import org.springframework.cloud.openfeign.FallbackFactory; /** - * 规格远程调用熔断器 RemoteProjectInfoFactory - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ - public class RemoteProjectInfoFactory implements FallbackFactory { @Override - public RemoteProjectInfoService create(Throwable cause) { - return new RemoteProjectInfoService() { - /** - * 获取商品详情信息 - * @param id - * @return - */ - @Override - public Result getInfo(Long id) { - return Result.error(cause.getMessage()); - } - }; + public RemoteProjectInfoService create (Throwable cause) { + return new RemoteProjectInfoService() { + + /** + * 获取商品规格详细信息 + * + * @param id + */ + @Override + public Result getInfo (Long id) { + return Result.error(cause.getMessage()); + } + }; } } diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectSkuFactory.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectSkuFactory.java index 592c760..78fab1b 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectSkuFactory.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteProjectSkuFactory.java @@ -5,31 +5,31 @@ import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.remote.RemoteProjectSkuService; import org.springframework.cloud.openfeign.FallbackFactory; -import java.rmi.Remote; import java.util.List; /** - * 远城调熔断器 RemoteProjectSkuFactory - * - * @author LeYang - * on 2024/4/7 + * @author DongZl + * @description: 远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ public class RemoteProjectSkuFactory implements FallbackFactory { @Override - public RemoteProjectSkuService create(Throwable cause) { + public RemoteProjectSkuService create (Throwable cause) { return new RemoteProjectSkuService() { @Override - public Result getInfoByProjectIdAndSku(Long projectId, String projectSku) { + public Result getInfoByProjectIdAndSku (Long projectId, String projectSku) { return Result.error(cause.getMessage()); } /** - * 通过商品ID和sku获取sku信息 + * 通过商品ID和SKU获取SKU信息 + * * @param projectId 商品ID - * @return 商品sku信息 + * + * @return 商品SKU信息 */ @Override - public Result> listByProjectId(Long projectId) { + public Result> listByProjectId (Long projectId) { return Result.error(cause.getMessage()); } }; diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleAttrFactory.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleAttrFactory.java index bf179c6..2a11137 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleAttrFactory.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleAttrFactory.java @@ -1,29 +1,32 @@ package com.muyu.product.remote.factory; import com.muyu.common.core.domain.Result; +import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.RuleAttrInfo; +import com.muyu.product.remote.RemoteProjectSkuService; import com.muyu.product.remote.RemoteRuleAttrService; +import com.muyu.product.remote.RemoteRuleService; import org.springframework.cloud.openfeign.FallbackFactory; import java.util.List; /** - * 规格详情远程调用熔断器 RemoteRuleAttrFactory - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格详情远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ public class RemoteRuleAttrFactory implements FallbackFactory { @Override - public RemoteRuleAttrService create(Throwable cause) { + public RemoteRuleAttrService create (Throwable cause) { return new RemoteRuleAttrService() { + /** - * 获取规格详情信息 + * 获取规格详情详细信息 + * * @param id - * @return */ @Override - public Result> getInfoByRuleId(Long id) { + public Result> getInfoByRuleId (Long id) { return Result.error(cause.getMessage()); } }; diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java index a23cd6d..9a99497 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java @@ -1,28 +1,29 @@ package com.muyu.product.remote.factory; import com.muyu.common.core.domain.Result; +import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.RuleInfo; +import com.muyu.product.remote.RemoteProjectSkuService; import com.muyu.product.remote.RemoteRuleService; import org.springframework.cloud.openfeign.FallbackFactory; /** - * 规格远程调用熔断器 - * - * @author LeYang - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ - public class RemoteRuleFactory implements FallbackFactory { @Override - public RemoteRuleService create(Throwable cause) { + public RemoteRuleService create (Throwable cause) { return new RemoteRuleService() { + /** - * 获取商品规格详情信息 + * 获取商品规格详细信息 + * * @param id - * @return */ @Override - public Result getInfo(Long id) { + public Result getInfo (Long id) { return Result.error(cause.getMessage()); } }; diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-product/muyu-product-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 66f880f..2d16640 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,4 +1,4 @@ -com.muyu.product.remote.factory.RemoteRuleFactory -com.muyu.product.remote.factory.RemoteRuleAttrFactory -com.muyu.product.remote.factory.RemoteProjectInfoFactory com.muyu.product.remote.factory.RemoteProjectSkuFactory +com.muyu.product.remote.factory.RemoteRuleAttrFactory +com.muyu.product.remote.factory.RemoteRuleFactory +com.muyu.product.remote.factory.RemoteProjectInfoFactory diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/MuYuProductApplication.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/MuYuProductApplication.java index 6e2794d..84b6d80 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/MuYuProductApplication.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/MuYuProductApplication.java @@ -5,10 +5,9 @@ import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; /** - * @author yangle + * @author DongZl * @description: 商品启动类 * @Date 2024-2-26 下午 04:07 */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectInfoDataImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectInfoDataImpl.java index 2858a21..6616d32 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectInfoDataImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectInfoDataImpl.java @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; /** - * @author yangle + * @author DongZl * @description: 缓存数据获取 * @Date 2024-3-27 下午 03:37 */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuDataImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuDataImpl.java index 25fb233..3e457ea 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuDataImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuDataImpl.java @@ -13,7 +13,7 @@ import java.util.Map; import java.util.stream.Collectors; /** - * @author yangle + * @author DongZl * @description: 商品SKU实现类 * @Date 2024-4-1 上午 11:38 */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuStockDataImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuStockDataImpl.java index 2cde9db..0a7c858 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuStockDataImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectSkuStockDataImpl.java @@ -9,7 +9,7 @@ import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; /** - * @author yangle + * @author DongZl * @description: sku库存实现类 * @Date 2024-4-2 上午 10:53 */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java index b255f02..bd489a0 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java @@ -31,7 +31,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 属性组Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "属性组") diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeInfoController.java index 78f41e5..4b09002 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeInfoController.java @@ -29,7 +29,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 商品属性Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "商品属性") diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/BrandInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/BrandInfoController.java index 0af0489..d0302a5 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/BrandInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/BrandInfoController.java @@ -30,7 +30,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 品牌信息Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "品牌信息") diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java index 0326a80..11e6a24 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java @@ -36,7 +36,7 @@ import com.muyu.product.service.CategoryInfoService; /** * 品类信息Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "品类信息") @@ -116,20 +116,18 @@ public class CategoryInfoController extends BaseController { categoryInfoService.util(id,categoryInfoEditReq); return toAjax(categoryInfoService.updateById(CategoryInfo.editBuild(id,categoryInfoEditReq))); } - /** * 删除品类信息 */ @RequiresPermissions("product:category:remove") @Log(title = "品类信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") + @DeleteMapping("/{ids}") @ApiOperation("删除品类信息") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") public Result remove(@PathVariable List ids) { - categoryInfoService.removeBatchById(ids); return toAjax(categoryInfoService.removeBatchByIds(ids)); - } + } /** * 通过品类ID获取父级以上的属性、属性组、品牌集合 * @param categoryId 品类ID diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java index f7a93c2..9500949 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java @@ -29,7 +29,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 商品评论Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "商品评论") diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentLikeInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentLikeInfoController.java index 8965b2b..9e7b5b6 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentLikeInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentLikeInfoController.java @@ -29,7 +29,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 评论点赞Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "评论点赞") diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java index 9db9c22..dee56e1 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java @@ -4,13 +4,17 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.muyu.product.cache.ProjectInfoCache; import com.muyu.product.domain.AsProductAttributeInfo; import com.muyu.product.domain.ProjectSkuInfo; +import com.muyu.product.domain.model.CategoryInfoSaveModel; +import com.muyu.product.domain.model.ProductSkuModel; import com.muyu.product.domain.model.ProjectAddModel; import com.muyu.product.domain.resp.ProjectDetailResp; import com.muyu.product.service.AsProductAttributeInfoService; import com.muyu.product.service.ProjectSkuInfoService; import io.swagger.annotations.*; +import org.apache.commons.lang3.SystemUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -36,7 +40,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 商品信息Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "商品信息") @@ -49,7 +53,8 @@ public class ProjectInfoController extends BaseController { private AsProductAttributeInfoService asProductAttributeInfoService; @Autowired private ProjectSkuInfoService projectSkuInfoService; - + @Autowired + private ProjectInfoCache projectInfoCache; /** * 查询商品信息列表 */ @@ -92,14 +97,16 @@ public class ProjectInfoController extends BaseController { @GetMapping(value = "/cache/{id}") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) public Result getCacheInfo(@PathVariable("id") Long id) { - return Result.success(projectInfoService.getById(id)); + return Result.success(projectInfoCache.get(id)); } +// @Autowired +// private ProjectInfoCache projectInfoCache; // @ApiOperation("获取商品信息详细信息") // @RequiresPermissions("product:info:query") // @GetMapping(value = "/{id}") // @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) // public Result getInfo(@PathVariable("id") Long id) { -// return Result.success(projectInfoService.get(id)); +// return Result.success(projectInfoCache.get(id)); // } /** @@ -114,6 +121,7 @@ public class ProjectInfoController extends BaseController { LambdaQueryWrapper asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId, id); List list = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper); + ProjectInfo projectInfo = projectInfoService.getById(id); LambdaQueryWrapper projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id); @@ -159,8 +167,4 @@ public class ProjectInfoController extends BaseController { projectInfoService.del(ids); return toAjax(projectInfoService.removeBatchByIds(ids)); } - - - - } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java index 39144ee..aa3fe7a 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java @@ -1,6 +1,5 @@ package com.muyu.product.controller; -import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -30,7 +29,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 商品SKUController * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "商品SKU") @@ -55,12 +54,13 @@ public class ProjectSkuInfoController extends BaseController { /** * 通过商品ID获取SKU集合 * @param projectId 商品ID - * @return 商品SKU信息 + * @return 商品SKU集合 */ @GetMapping("/list/{projectId}") - public Result> listByProjectId(@PathVariable("projectId")Long projectId){ + public Result> listByProjectId(@PathVariable("projectId") Long projectId){ return Result.success(projectSkuInfoService.listByProjectId(projectId)); } + /** * 导出商品SKU列表 */ @@ -85,17 +85,11 @@ public class ProjectSkuInfoController extends BaseController { return Result.success(projectSkuInfoService.getById(id)); } - /** - * 通过商品ID和sku获取sku信息 - * @param projectId 商品id - * @param projectSku 商品sku - * @return - */ - @GetMapping("/info/{projectId}/{projectSku}") - public Result getInfoByProjectIdAndSku(@PathVariable("projectId")Long projectId, - @PathVariable("projectSku") String projectSku){ - return Result.success(projectSkuInfoService.getInfoByProjectIdAndSku(projectId, projectSku)); - }; + @GetMapping("/info/{projectId}/{projectSku}") + public Result getInfoByProjectIdAndSku(@PathVariable("projectId") Long projectId, + @PathVariable("projectSku") String projectSku){ + return Result.success(projectSkuInfoService.getInfoByProjectIdAndSku(projectId,projectSku)); + } /** * 新增商品SKU */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleAttrInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleAttrInfoController.java index a62c8d7..4e38a87 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleAttrInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleAttrInfoController.java @@ -29,7 +29,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 规格详情Controller * - * @author yangle + * @author Leyang * @date 2024-02-27 */ @Api(tags = "规格详情") @@ -75,6 +75,14 @@ public class RuleAttrInfoController extends BaseController { return Result.success(ruleAttrInfoService.getById(id)); } + /** + * 获取规格详情详细信息 + */ + @GetMapping(value = "/list/ruleId/{ruleId}") + public Result> getInfoByRuleId(@PathVariable("ruleId") Long ruleId){ + return Result.success(ruleAttrInfoService.getInfoByRuleId(ruleId)); + } + /** * 新增规格详情 */ @@ -102,7 +110,7 @@ public class RuleAttrInfoController extends BaseController { */ @RequiresPermissions("product:ruleAttr:remove") @Log(title = "规格详情", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") + @DeleteMapping("/{ids}") @ApiOperation("删除规格详情") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") public Result remove(@PathVariable List ids) { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java index 001d8f7..b6a9c73 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java @@ -6,7 +6,6 @@ import javax.servlet.http.HttpServletResponse; import com.muyu.common.core.text.Convert; import com.muyu.product.domain.model.RuleInfoAddModel; import com.muyu.product.domain.resp.RuleInfoResp; -import com.muyu.product.service.RuleAttrInfoService; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -33,7 +32,7 @@ import com.muyu.common.core.web.page.TableDataInfo; /** * 商品规格Controller * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Api(tags = "商品规格") @@ -82,9 +81,6 @@ public class RuleInfoController extends BaseController { return Result.success(ruleInfoService.getById(id)); } - @Autowired - private RuleAttrInfoService ruleAttrInfoService; - /** * 新增商品规格 */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupMapper.java index 0ca754b..1b420df 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AsAttributeGroup; /** * 属性与组中间Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsAttributeGroupMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsBrandProjectMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsBrandProjectMapper.java index 725393a..a78f814 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsBrandProjectMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsBrandProjectMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AsBrandProject; /** * 品牌商品中间Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsBrandProjectMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeGroupMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeGroupMapper.java index 41585b5..b09e788 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeGroupMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeGroupMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AsCategoryAttributeGroup; /** * 品类属性组中间Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsCategoryAttributeGroupMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeMapper.java index afc4e32..66c2e87 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryAttributeMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AsCategoryAttribute; /** * 品类属性中间Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsCategoryAttributeMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryBrandMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryBrandMapper.java index fabb30b..3e8c164 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryBrandMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsCategoryBrandMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AsCategoryBrand; /** * 品类品牌中间Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsCategoryBrandMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsProductAttributeInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsProductAttributeInfoMapper.java index c4348cb..4350c22 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsProductAttributeInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsProductAttributeInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AsProductAttributeInfo; /** * 商品属性Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsProductAttributeInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java index 9ec2b03..9f1acd3 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AttributeGroup; /** * 属性组Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AttributeGroupMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeInfoMapper.java index 766a0d4..8d00d2e 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.AttributeInfo; /** * 商品属性Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AttributeInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/BrandInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/BrandInfoMapper.java index 640243b..97519e1 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/BrandInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/BrandInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.BrandInfo; /** * 品牌信息Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface BrandInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java index 9ab8710..6c95e40 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java @@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Mapper; /** * 品类信息Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Mapper diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentInfoMapper.java index 4184ec1..9badc38 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.CommentInfo; /** * 商品评论Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface CommentInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentLikeInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentLikeInfoMapper.java index 38eafdb..8b28651 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentLikeInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CommentLikeInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.CommentLikeInfo; /** * 评论点赞Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface CommentLikeInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java index 193aad6..04e5b3d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.ProjectInfo; /** * 商品信息Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface ProjectInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectSkuInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectSkuInfoMapper.java index 2309e9a..903c14d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectSkuInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectSkuInfoMapper.java @@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Mapper; /** * 商品SKUMapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Mapper diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java index 36d7fb5..b51378c 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.RuleAttrInfo; /** * 规格详情Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface RuleAttrInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleInfoMapper.java index 50cb495..497a29a 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleInfoMapper.java @@ -7,7 +7,7 @@ import com.muyu.product.domain.RuleInfo; /** * 商品规格Mapper接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface RuleInfoMapper extends BaseMapper { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsAttributeGroupService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsAttributeGroupService.java index e2f6aff..db672c4 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsAttributeGroupService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsAttributeGroupService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 属性与组中间Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsAttributeGroupService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsBrandProjectService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsBrandProjectService.java index c85514e..b30f7c2 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsBrandProjectService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsBrandProjectService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 品牌商品中间Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsBrandProjectService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeGroupService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeGroupService.java index 76446ba..fb3b15f 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeGroupService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeGroupService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 品类属性组中间Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsCategoryAttributeGroupService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeService.java index 17036d9..365d74b 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryAttributeService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 品类属性中间Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsCategoryAttributeService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryBrandService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryBrandService.java index be3fab4..a1ccaa9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryBrandService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsCategoryBrandService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 品类品牌中间Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsCategoryBrandService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsProductAttributeInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsProductAttributeInfoService.java index f51d7cb..152bb77 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsProductAttributeInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AsProductAttributeInfoService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 商品属性Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AsProductAttributeInfoService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java index d3d95ca..ca46bf7 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java @@ -13,7 +13,7 @@ import com.muyu.product.domain.resp.AttributeGroupPageResp; /** * 属性组Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AttributeGroupService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeInfoService.java index eb48ffa..14d9431 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeInfoService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 商品属性Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface AttributeInfoService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/BrandInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/BrandInfoService.java index 89e22a7..9864b33 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/BrandInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/BrandInfoService.java @@ -8,7 +8,7 @@ import com.muyu.product.domain.req.BrandInfoEditReq; /** * 品牌信息Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface BrandInfoService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java index 67cfc68..f6ce34a 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java @@ -15,7 +15,7 @@ import com.muyu.product.domain.resp.CategoryParentCommonElementResp; /** * 品类信息Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface CategoryInfoService extends IService { @@ -69,7 +69,6 @@ public interface CategoryInfoService extends IService { */ CategoryCommonElementResp getTemplateAttributeByCateGoryId (Long cateGoryId); - Boolean removeBatchById(List ids); void util(Long id, CategoryInfoEditReq categoryInfoEditReq); diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java index 7387b25..54fbcca 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 商品评论Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface CommentInfoService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentLikeInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentLikeInfoService.java index e6e2822..4c72f34 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentLikeInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentLikeInfoService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 评论点赞Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface CommentLikeInfoService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java index e397490..8022198 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java @@ -12,7 +12,7 @@ import com.muyu.product.domain.resp.ProjectDetailResp; /** * 商品信息Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface ProjectInfoService extends IService { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java index 214b515..e12784b 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 商品SKUService接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface ProjectSkuInfoService extends IService { @@ -19,13 +19,7 @@ public interface ProjectSkuInfoService extends IService { */ public List list(ProjectSkuInfo projectSkuInfo); - ProjectSkuInfo getInfoByProjectIdAndSku(Long projectId,String projectSku); + ProjectSkuInfo getInfoByProjectIdAndSku(Long projectId, String projectSku); - /** - * 通过商品Id获取sku集合 - * @param projectId 商品Id - * @return 商品SKU信息 - */ List listByProjectId(Long projectId); - } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java index 561aae7..f5d85da 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * 规格详情Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface RuleAttrInfoService extends IService { @@ -19,10 +19,5 @@ public interface RuleAttrInfoService extends IService { */ public List list(RuleAttrInfo ruleAttrInfo); - /** - * 通过ruleId获取规格详情 - * @param ruleId 规格Id - * @return 规格详情id - */ List getInfoByRuleId(Long ruleId); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java index 9e342a7..54c5b08 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java @@ -3,18 +3,16 @@ package com.muyu.product.service; import java.util.List; import com.muyu.common.core.web.page.TableDataInfo; -import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.RuleInfo; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.product.domain.model.RuleInfoAddModel; import com.muyu.product.domain.req.RuleInfoQueryReq; import com.muyu.product.domain.resp.RuleInfoResp; -import org.apache.tomcat.util.digester.Rule; /** * 商品规格Service接口 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ public interface RuleInfoService extends IService { @@ -34,5 +32,4 @@ public interface RuleInfoService extends IService { public boolean save(RuleInfoAddModel ruleInfoAddModel); TableDataInfo queryList (RuleInfoQueryReq ruleInfoQueryReq); - } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java index 663cc9c..7e2e186 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 属性与组中间Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java index f20af0d..e5c906d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 品牌商品中间Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeGroupServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeGroupServiceImpl.java index 4c77b4c..a279181 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeGroupServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeGroupServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 品类属性组中间Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeServiceImpl.java index 3388c6e..48e263d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryAttributeServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 品类属性中间Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryBrandServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryBrandServiceImpl.java index 61ba2c3..ec71806 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryBrandServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsCategoryBrandServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 品类品牌中间Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsProductAttributeInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsProductAttributeInfoServiceImpl.java index 27bc866..2cc3206 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsProductAttributeInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsProductAttributeInfoServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 商品属性Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java index 72e8bfb..85f52d1 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java @@ -26,7 +26,7 @@ import java.util.stream.Stream; /** * 属性组Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeInfoServiceImpl.java index 6d57290..0da9ac8 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeInfoServiceImpl.java @@ -18,7 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 商品属性Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java index d9ced69..1e5a46c 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java @@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 品牌信息Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java index f82a8a2..f94690c 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java @@ -33,7 +33,7 @@ import java.util.stream.Stream; /** * 品类信息Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j @@ -352,7 +352,6 @@ public class CategoryInfoServiceImpl extends ServiceImpl templateAttributeIdList = asCategoryAttributeList.stream() .map(AsCategoryAttribute::getAttributeId) - .filter(templateAttributeId -> !attributeIdSet.contains(templateAttributeId)) .toList(); templateAttributeModelList = attributeInfoService.listByIds(templateAttributeIdList).stream() .map(AttributeInfo::buildTemplateModel) @@ -378,33 +377,7 @@ public class CategoryInfoServiceImpl extends ServiceImpl ids) { - //删除品类属性组中间表 - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(AsCategoryAttributeGroup::getAttributeGroupId, ids); - asCategoryAttributeGroupMapper.delete(lambdaQueryWrapper); - //删除品类属性中间表 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(AsCategoryAttribute::getAttributeId, ids); - asCategoryAttributeMapper.delete(queryWrapper); - //删除品类品牌中间 - LambdaQueryWrapper asCategoryBrandLambdaQueryWrapper = new LambdaQueryWrapper<>(); - asCategoryBrandLambdaQueryWrapper.in(AsCategoryBrand::getBrandId, ids); - asCategoryBrandMapper.delete(asCategoryBrandLambdaQueryWrapper); - return true; - } + @Override public void util(Long id, CategoryInfoEditReq categoryInfoEditReq) { @@ -413,7 +386,7 @@ public class CategoryInfoServiceImpl extends ServiceImpl list = asCategoryAttributeService.list(asCategoryAttribute); ArrayList longs = new ArrayList<>(); for (AsCategoryAttribute categoryAttribute : list) { - longs.add(categoryAttribute.getId()); + longs.add(categoryAttribute.getId()); } asCategoryAttributeService.removeBatchByIds(longs); List attributeGroupIdList = categoryInfoEditReq.getAttributeGroupIdList(); @@ -434,4 +407,3 @@ public class CategoryInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ProjectSkuInfo::getProjectId, projectId); - queryWrapper.eq(ProjectSkuInfo::getSku, projectSku); + queryWrapper.eq(ProjectSkuInfo::getProjectId,projectId); + queryWrapper.eq(ProjectSkuInfo::getSku,projectSku); return this.getOne(queryWrapper); } @Override public List listByProjectId(Long projectId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ProjectSkuInfo::getProjectId, projectId); + queryWrapper.eq(ProjectSkuInfo::getProjectId,projectId); + return this.list(queryWrapper); } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java index 5bb3420..fb87e7f 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 规格详情Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j @@ -44,13 +44,18 @@ public class RuleAttrInfoServiceImpl extends ServiceImpl getInfoByRuleId(Long ruleId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(RuleAttrInfo::getRuleId, ruleId); + queryWrapper.eq(RuleAttrInfo::getRuleId,ruleId); + return this.list(queryWrapper); } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java index c8d3c6e..3018b05 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java @@ -30,7 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; /** * 商品规格Service业务层处理 * - * @author yangle + * @author DongZeLiang * @date 2024-02-27 */ @Slf4j @@ -102,6 +102,4 @@ public class RuleInfoServiceImpl extends ServiceImpl .total(isPage ? new PageInfo<>(list).getTotal() : 0) .build(); } - - } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeInfoMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeInfoMapper.xml index 9d60cfe..78d6ff6 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeInfoMapper.xml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeInfoMapper.xml @@ -10,12 +10,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + - select id, name, group_id, create_by, create_time, updata_by, updata_time, remark from attribute_info + select id, name, group_id, create_by, create_time, update_time, update_time, remark from attribute_info diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/CartCache.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/CartCache.java index 895bd74..96d1213 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/CartCache.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/CartCache.java @@ -13,20 +13,23 @@ import org.springframework.stereotype.Component; import java.util.Map; /** - * 购物车缓存 - * - * @author LeYang - * on 2024/4/2 + * @author yangle + * @description: 购物车缓存 + * @Date 2024-4-2 上午 11:23 */ - @Component -public class CartCache extends HashCacheAbs { - @Autowired - private CartData cartData; +public class CartCache extends HashCacheAbs { + @Autowired + private CartData cartData; + + /** + * key前缀 + * @return key前缀 + */ @Override - public String keyPre() { - return "cart:info"; + public String keyPre () { + return "cart:info:"; } /** @@ -35,17 +38,29 @@ public class CartCache extends HashCacheAbs { * @return ID */ @Override - public Long decode(String redisKey) { - return Convert.toLong(redisKey.replace(keyPre(),"")); + public Long decode (String redisKey) { + return Convert.toLong(redisKey.replace(keyPre(), "")); + } + + /** + * 编码 + * + * @param hashKey ID + * + * @return 键 + */ + @Override + public String encodeHashKey (CartHashKey hashKey) { + return hashKey.getProjectId()+":"+hashKey.getProjectSku(); } /** * 解码 * @param redisHashKey 数据库键 - * @return ID + * @return ID */ @Override - public CartHashKey decodeHashKey(String redisHashKey) { + public CartHashKey decodeHashKey (String redisHashKey) { String[] split = redisHashKey.split(":"); return CartHashKey.builder() .projectId(Convert.toLong(split[0])) @@ -59,30 +74,34 @@ public class CartCache extends HashCacheAbs { * @return */ @Override - public Map getData(Long key) { + public Map getData (Long key) { return cartData.getData(key); } /** * 通过缓存键和hash键获取hash值 - * @param key 缓存键 + * + * @param key 缓存键 * @param hashKey hash键 - * @return + * + * @return hash值 */ @Override - public CartInfo getData(Long key, CartHashKey hashKey) { - return cartData.getData(key,hashKey); + public CartInfo getData (Long key, CartHashKey hashKey) { + return cartData.getData(key, hashKey); + } + + /** + * 默认值 + */ + @Override + public Map defaultValue () { + throw new ServiceException("购物车无数据", Result.SUCCESS); } @Override - public Map defaultValue() { - throw new ServiceException("购物车无数据",Result.SUCCESS); + public CartInfo defaultHashValue () { + throw new ServiceException("购物车无数据", Result.SUCCESS); } - @Override - public CartInfo defaultHashValue() { - throw new ServiceException("购物车无数据",Result.SUCCESS); - } - - } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/key/CartHashKey.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/key/CartHashKey.java index 5996861..401dbec 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/key/CartHashKey.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/key/CartHashKey.java @@ -5,13 +5,10 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.ArrayList; - /** - * 购物车HashKey - * - * @author LeYang - * on 2024/4/2 + * @author yangle + * @description: 购物车HashKey + * @Date 2024-4-2 上午 11:25 */ @Data @Builder @@ -22,10 +19,10 @@ public class CartHashKey { /** * 商品ID */ - private Long projectId; + private Long projectId; + /** - * 商品sku + * 商品SKU */ private String projectSku; - } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/sourcedata/CartData.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/sourcedata/CartData.java index 11a3e81..27d59fc 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/sourcedata/CartData.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-cache/src/main/java/com/muyu/shop/cart/cache/sourcedata/CartData.java @@ -6,24 +6,26 @@ import com.muyu.shop.cart.domain.CartInfo; import java.util.Map; /** - * 购物车源数据获取 CartData - * - * @author LeYang - * on 2024/4/2 + * @author yangle + * @description: 购物车源数据获取 + * @Date 2024-4-2 上午 11:49 */ public interface CartData { - /** - * 通过键获取所有的hash数据 - * @param key - * @return - */ - public Map getData(Long key); /** - * 通过缓存和hash键获取hash值 - * @param key 缓存键 - * @param cartHashKey hash值 + * 通过键获取所有的hash数据 + * @param key 键 + * @return + */ + public Map getData (Long key); + + /** + * 通过缓存键和hash键获取hash值 + * + * @param key 缓存键 + * @param hashKey hash键 + * * @return hash值 */ - public CartInfo getData(Long key,CartHashKey cartHashKey); + public CartInfo getData (Long key, CartHashKey hashKey); } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/model/CartSkuModel.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/model/CartSkuModel.java index 32894f4..c5a9830 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/model/CartSkuModel.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/model/CartSkuModel.java @@ -32,6 +32,10 @@ public class CartSkuModel { * 商品ID */ private Long projectId; + /** + * 商品sku + */ + private String projectSku; /** * 商品名称 */ diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java index 6ce6046..1e6d2b5 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java @@ -22,25 +22,15 @@ import com.muyu.common.core.web.domain.BaseEntity; public class CartInfoSaveReq extends BaseEntity { private static final long serialVersionUID = 1L; - - /** 商品 */ - @ApiModelProperty(name = "商品", value = "商品", required = true) private Long projectId; - /** sku */ - - @ApiModelProperty(name = "sku", value = "sku", required = true) + /** SKU */ + @ApiModelProperty(name = "SKU", value = "SKU", required = true) private String projectSku; - - /** 数量 */ - @ApiModelProperty(name = "数量", value = "数量", required = true) private Long num; - - - } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java index 7265fa4..3a2e190 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java @@ -4,7 +4,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.muyu.product.domain.ProjectSkuInfo; -import com.muyu.shop.cart.domain.req.CartDetailResp; +import com.muyu.shop.cart.domain.req.*; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -22,9 +22,6 @@ import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.shop.cart.domain.CartInfo; -import com.muyu.shop.cart.domain.req.CartInfoQueryReq; -import com.muyu.shop.cart.domain.req.CartInfoSaveReq; -import com.muyu.shop.cart.domain.req.CartInfoEditReq; import com.muyu.shop.cart.service.CartInfoService; import com.muyu.common.core.web.page.TableDataInfo; @@ -36,7 +33,7 @@ import com.muyu.common.core.web.page.TableDataInfo; */ @Api(tags = "购物车") @RestController -@RequestMapping("/info") +@RequestMapping("/Info") public class CartInfoController extends BaseController { @Autowired private CartInfoService cartInfoService; @@ -45,7 +42,7 @@ public class CartInfoController extends BaseController { * 查询购物车列表 */ @ApiOperation("获取购物车列表") - @RequiresPermissions("shopCart:info:list") + @RequiresPermissions("shopCart:Info:list") @GetMapping("/list") public Result> list(CartInfoQueryReq cartInfoQueryReq) { startPage(); @@ -57,7 +54,7 @@ public class CartInfoController extends BaseController { * 导出购物车列表 */ @ApiOperation("导出购物车列表") - @RequiresPermissions("shopCart:info:export") + @RequiresPermissions("shopCart:Info:export") @Log(title = "购物车", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, CartInfo cartInfo) { @@ -70,13 +67,14 @@ public class CartInfoController extends BaseController { * 获取购物车详细信息 */ @ApiOperation("获取购物车详细信息") - @RequiresPermissions("shopCart:info:query") + @RequiresPermissions("shopCart:Info:query") @GetMapping(value = "/{id}") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) public Result getInfo(@PathVariable("id") Long id) { return Result.success(cartInfoService.getById(id)); } + @GetMapping("/detail") public Result detail(){ return Result.success(cartInfoService.detail()); @@ -85,7 +83,7 @@ public class CartInfoController extends BaseController { /** * 新增购物车 */ - @RequiresPermissions("shopCart:info:add") + @RequiresPermissions("shopCart:Info:add") @Log(title = "购物车", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("新增购物车") @@ -96,7 +94,7 @@ public class CartInfoController extends BaseController { /** * 修改购物车 */ - @RequiresPermissions("shopCart:info:edit") + @RequiresPermissions("shopCart:Info:edit") @Log(title = "购物车", businessType = BusinessType.UPDATE) @PutMapping("/{id}") @ApiOperation("修改购物车") @@ -104,15 +102,48 @@ public class CartInfoController extends BaseController { return toAjax(cartInfoService.updateById(CartInfo.editBuild(id,cartInfoEditReq))); } + /** + * 购物车状态修改 + * @param cartInfoIsSelectedUpdReqList + * @return + */ + @PostMapping("/selected") + public Result cartInfoIsSelected(@RequestBody List cartInfoIsSelectedUpdReqList){ + cartInfoService.cartInfoIsSelected(cartInfoIsSelectedUpdReqList); + return Result.success(); + } + + /** + * 修改购物车内数量 + * @param cartInfoEditNumReq + * @return + */ + @PostMapping("/num") + public Result cartInfoEditNum(@RequestBody CartInfoEditNumReq cartInfoEditNumReq){ + cartInfoService.CartInfoEditNum(cartInfoEditNumReq); + return Result.success(); + } + /** * 删除购物车 */ - @RequiresPermissions("shopCart:info:remove") + @RequiresPermissions("shopCart:Info:remove") @Log(title = "购物车", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") + @DeleteMapping("/{ids}") @ApiOperation("删除购物车") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") - public Result remove(@PathVariable List ids) { + public Result removeByIds(@PathVariable List ids) { return toAjax(cartInfoService.removeBatchByIds(ids)); } + + /** + * 删除购物车 + */ + @RequiresPermissions("shopCart:Info:remove") + @DeleteMapping("/remove") + @ApiOperation("删除购物车") + public Result remove(@RequestBody List removeCartProjectReqList) { + cartInfoService.removeByRemoveCartProjectList(removeCartProjectReqList); + return Result.success(); + } } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java index 68070e7..d10bd56 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java @@ -4,6 +4,9 @@ import java.util.List; import com.muyu.shop.cart.domain.CartInfo; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.shop.cart.domain.req.CartDetailResp; +import com.muyu.shop.cart.domain.req.CartInfoEditNumReq; +import com.muyu.shop.cart.domain.req.CartInfoIsSelectedUpdReq; +import com.muyu.shop.cart.domain.req.RemoveCartProjectReq; /** * 购物车Service接口 @@ -29,4 +32,10 @@ public interface CartInfoService extends IService { CartDetailResp detail(); + void CartInfoEditNum(CartInfoEditNumReq cartInfoEditNumReq); + + void removeByRemoveCartProjectList(List removeCartProjectReqs); + + void cartInfoIsSelected(List cartInfoIsSelectedUpdReqList); + } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java index c84d91a..6e0b3d4 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java @@ -5,9 +5,11 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.text.Convert; import com.muyu.common.core.utils.ObjUtils; +import com.muyu.common.core.utils.ServletUtils; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.product.cache.ProjectInfoCache; import com.muyu.product.cache.ProjectSkuCache; @@ -24,6 +26,9 @@ import com.muyu.shop.cart.domain.model.CartSkuModel; import com.muyu.shop.cart.domain.model.SkuRuleModel; import com.muyu.shop.cart.domain.model.StatisticsCartModel; import com.muyu.shop.cart.domain.req.CartDetailResp; +import com.muyu.shop.cart.domain.req.CartInfoEditNumReq; +import com.muyu.shop.cart.domain.req.CartInfoIsSelectedUpdReq; +import com.muyu.shop.cart.domain.req.RemoveCartProjectReq; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.SystemUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +38,7 @@ import com.muyu.shop.cart.domain.CartInfo; import com.muyu.shop.cart.service.CartInfoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.transaction.annotation.Transactional; /** * 购物车Service业务层处理 @@ -47,6 +53,18 @@ public class CartInfoServiceImpl extends ServiceImpl @Autowired private CartCache cartCache; + @Autowired + private ProjectSkuCache projectSkuCache; + + @Autowired + private ProjectInfoCache projectInfoCache; + + @Autowired + private ProjectSkuStockCache projectSkuStockCache; + + @Autowired + private RuleInfoCache ruleInfoCache; + /** * 查询购物车列表 * @@ -77,20 +95,22 @@ public class CartInfoServiceImpl extends ServiceImpl if (ObjUtils.notNull(cartInfo.getIsSelected())){ queryWrapper.eq(CartInfo::getIsSelected, cartInfo.getIsSelected()); } + return list(queryWrapper); } -@Autowired -private ProjectSkuStockCache projectSkuStockCache; + /** * 添加购物车 - * @param cartInfo 购物车 - * @return + * + * @param cartInfo 购物车信息 + * + * @return 是否添加成功 */ @Override - public boolean add(CartInfo cartInfo) { + public boolean add (CartInfo cartInfo) { Long userId = SecurityUtils.getUserId(); CartHashKey cartHashKey = CartHashKey.builder() - .projectId(cartInfo.getUserId()) + .projectId(cartInfo.getProjectId()) .projectSku(cartInfo.getProjectSku()) .build(); SkuStockKey skuStockKey = SkuStockKey.builder() @@ -98,68 +118,72 @@ private ProjectSkuStockCache projectSkuStockCache; .sku(cartInfo.getProjectSku()) .build(); Long skuStock = Convert.toLong(projectSkuStockCache.get(skuStockKey), -1L); - if (cartCache.hasKey(userId, cartHashKey)) { - //取出来修改 + if (cartCache.hasKey(userId, cartHashKey)){ + // 取出来修改 CartInfo cartInfoCache = cartCache.get(userId, cartHashKey); - cartInfoCache.setNum(cartInfoCache.getNum()+ cartInfo.getNum()); - if (skuStock queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(CartInfo::getNum,cartInfoCache.getNum()); - queryWrapper.eq(CartInfo::getId, cartInfoCache.getId()); - this.update(queryWrapper); - this.cartCache.put(userId, cartHashKey,cartInfoCache); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CartInfo::getNum, cartInfoCache.getNum()); + updateWrapper.eq(CartInfo::getId, cartInfoCache.getId()); + this.update(updateWrapper); + this.cartCache.put(userId, cartHashKey, cartInfoCache); }else { - //存进去 + // 存进去 if (skuStock < cartInfo.getNum()){ throw new ServiceException("当前库存不足"); } + cartInfo.setIsSelected("Y"); cartInfo.setUserId(userId); cartInfo.setCreateBy(SecurityUtils.getUsername()); cartInfo.setCreateTime(new Date()); this.save(cartInfo); - this.cartCache.put(userId, cartHashKey,cartInfo); + this.cartCache.put(userId, cartHashKey, cartInfo); } return true; } -@Autowired -private ProjectSkuCache projectSkuCache; - @Autowired - private ProjectInfoCache projectInfoCache; - @Autowired - private RuleInfoCache ruleInfoCache; - @Override - public CartDetailResp detail() { - Long userId = SecurityUtils.getUserId(); - List cacheToList = this.cartCache.getToList(userId); - List cartSkuModelList = cacheToList.stream() + /** + * 获取购物车详情 + * + * @return 购物车详情 + */ + @Override + public CartDetailResp detail () { + Long userId = SecurityUtils.getUserId(); + List cartInfoList = cartCache.getToList(userId); + // CartInfo -> CartSkuModel + List cartSkuModelList = cartInfoList.stream() .map(cartInfo -> { - ProjectSkuInfo projectSkuInfo = - projectSkuCache.get(cartInfo.getProjectId(), cartInfo.getProjectSku()); - ProjectInfo projectInfo = projectInfoCache.get(cartInfo.getProjectId()); + ProjectSkuInfo projectSkuInfo + = projectSkuCache.get(cartInfo.getProjectId(), cartInfo.getProjectSku()); + ProjectInfo projectInfo + = projectInfoCache.get(cartInfo.getProjectId()); Long stock = projectSkuStockCache.get( SkuStockKey.builder() .projectId(cartInfo.getProjectId()) .sku(cartInfo.getProjectSku()) .build() ); - RuleCacheModel ruleInfoCacheData = ruleInfoCache.getData(projectInfo.getRuleId()); - List ruleAttrModelList = ruleInfoCacheData.getRuleAttrModelList(); + // RuleCache + RuleCacheModel ruleInfoCacheModel = ruleInfoCache.getData(projectInfo.getRuleId()); + List ruleAttrModelList = ruleInfoCacheModel.getRuleAttrModelList(); List ruleModelList = new ArrayList<>(); String projectSku = cartInfo.getProjectSku(); String[] skuArr = projectSku.split("-"); - for (int index = 0; index < skuArr.length; index++) { + for (int index = 0 ; index < skuArr.length ; index++) { ruleModelList.add( - SkuRuleModel.builder(). - ruleName(ruleAttrModelList.get(index).getAttrName()) + SkuRuleModel.builder() + .ruleName(ruleAttrModelList.get(index).getAttrName()) .ruleValue(skuArr[index]) - .build() + .build() ); } return CartSkuModel.builder() .projectId(cartInfo.getProjectId()) + .projectSku(cartInfo.getProjectSku()) .name(projectInfo.getName()) .image(projectSkuInfo.getImage()) .stock(stock) @@ -171,35 +195,107 @@ private ProjectSkuCache projectSkuCache; .isSelected(cartInfo.getIsSelected()) .build(); }).toList(); - List cartSkuList = new ArrayList<>(); + + StatisticsCartModel statisticsCartModel = StatisticsCartModel.builder() - .total(cartSkuModelList.stream() - .mapToLong(CartSkuModel::getNum) - .sum() + .total( + cartSkuModelList.stream() + .filter(cartSkuModel -> cartSkuModel.getStock() > 0) + .mapToLong(CartSkuModel::getNum) + .sum() ) .selectTotal( cartSkuModelList.stream() .filter(cartSkuModel -> "Y".equals(cartSkuModel.getIsSelected())) + .filter(cartSkuModel -> cartSkuModel.getStock() > 0) .mapToLong(CartSkuModel::getNum) .sum() ) .priceTotal( cartSkuModelList.stream() .filter(cartSkuModel -> "Y".equals(cartSkuModel.getIsSelected())) + .filter(cartSkuModel -> cartSkuModel.getStock() > 0) .map(CartSkuModel::getSubtotal) .reduce(BigDecimal.ZERO, BigDecimal::add) ) .actualTotal( cartSkuModelList.stream() .filter(cartSkuModel -> "Y".equals(cartSkuModel.getIsSelected())) + .filter(cartSkuModel -> cartSkuModel.getStock() > 0) .map(CartSkuModel::getSubtotal) .reduce(BigDecimal.ZERO, BigDecimal::add) - ).build(); + ) + .build(); return CartDetailResp.builder() .cartSkuList(cartSkuModelList) .statisticsCart(statisticsCartModel) .build(); } + /** + * 修改状态 + * + * @param cartInfoIsSelectedUpdReqList + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void cartInfoIsSelected (List cartInfoIsSelectedUpdReqList) { + for (CartInfoIsSelectedUpdReq cartInfoIsSelectedUpdReq : cartInfoIsSelectedUpdReqList) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CartInfo::getIsSelected, cartInfoIsSelectedUpdReq.getIsSelected()); + updateWrapper.eq(CartInfo::getProjectId, cartInfoIsSelectedUpdReq.getProjectId()); + updateWrapper.eq(CartInfo::getProjectSku, cartInfoIsSelectedUpdReq.getProjectSku()); + this.update(updateWrapper); + CartHashKey cartHashKey = CartHashKey.builder() + .projectId(cartInfoIsSelectedUpdReq.getProjectId()) + .projectSku(cartInfoIsSelectedUpdReq.getProjectSku()) + .build(); + Long userId = SecurityUtils.getUserId(); + CartInfo cartInfo = this.cartCache.get(userId, cartHashKey); + cartInfo.setIsSelected(cartInfoIsSelectedUpdReq.getIsSelected()); + this.cartCache.put(userId, cartHashKey, cartInfo); + } + } + + @Override + public void CartInfoEditNum (CartInfoEditNumReq cartInfoEditNumReq) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CartInfo::getIsSelected, cartInfoEditNumReq.getNum()); + updateWrapper.eq(CartInfo::getProjectId, cartInfoEditNumReq.getProjectId()); + updateWrapper.eq(CartInfo::getProjectSku, cartInfoEditNumReq.getProjectSku()); + this.update(updateWrapper); + Long userId = SecurityUtils.getUserId(); + CartHashKey cartHashKey = CartHashKey.builder() + .projectId(cartInfoEditNumReq.getProjectId()) + .projectSku(cartInfoEditNumReq.getProjectSku()) + .build(); + CartInfo cartInfo = this.cartCache.get(userId, cartHashKey); + cartInfo.setNum(cartInfoEditNumReq.getNum()); + this.cartCache.put(userId, cartHashKey, cartInfo); + } + + /** + * 删除 + * + * @param removeCartProjectReqList + * + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void removeByRemoveCartProjectList (List removeCartProjectReqList) { + this.removeByIds( + removeCartProjectReqList.stream() + .map(RemoveCartProjectReq::getCartInfoId) + .toList() + ); + Long userId = SecurityUtils.getUserId(); + removeCartProjectReqList.stream() + .map(removeCartProjectReq -> CartHashKey.builder() + .projectId(removeCartProjectReq.getProjectId()) + .projectSku(removeCartProjectReq.getProjectSku()) + .build() + ).forEach(hk -> this.cartCache.remove(userId, hk)); + } }