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 1dc4daa..f86d1df 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 @@ -5,6 +5,7 @@ import com.muyu.product.cache.datasource.ProjectInfoData; import com.muyu.product.domain.ProjectInfo; import com.muyu.product.remote.RemoteProjectInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; /** 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 ecd934d..d58fc73 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 @@ -5,6 +5,7 @@ import com.muyu.product.cache.datasource.ProjectSkuData; import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.remote.RemoteProjectSkuService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; import java.util.HashMap; 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 0829209..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 @@ -11,24 +11,23 @@ import org.springframework.stereotype.Service; import java.util.Objects; /** - * ProjectSkuStockDataImpl - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: sku库存实现类 + * @Date 2024-4-2 上午 10:53 */ @Service -public class ProjectSkuStockDataRemoteImpl implements ProjectSkuStockData{ +public class ProjectSkuStockDataRemoteImpl implements ProjectSkuStockData { @Autowired private RemoteProjectSkuService remoteProjectSkuService; - @Override - public Long getData(SkuStockKey key) { - Result result = - remoteProjectSkuService.getInfoByProjectIdAndSku(key.getProjectId(), key.getSku()); + @Override + public Long getData (SkuStockKey key) { + Result result + = remoteProjectSkuService.getInfoByProjectIdAndSku(key.getProjectId(), key.getSku()); if (Result.isSuccess(result)){ ProjectSkuInfo projectSkuInfo = result.getData(); - if (Objects.isNull(projectSkuInfo)){ + if (!Objects.isNull(projectSkuInfo)){ return projectSkuInfo.getStock(); } } 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 97fe67f..b375e0a 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 @@ -9,6 +9,7 @@ import com.muyu.product.domain.RuleInfo; import com.muyu.product.remote.RemoteRuleAttrService; import com.muyu.product.remote.RemoteRuleService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; import java.util.List; 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 c021acc..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 @@ -9,10 +9,9 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; /** - * RemoteProjectInfoService - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ @FeignClient( contextId = "remoteProjectInfoService", @@ -21,10 +20,10 @@ import org.springframework.web.bind.annotation.PathVariable; path = "/info" ) public interface RemoteProjectInfoService { - /** * 获取商品信息详细信息 */ @GetMapping(value = "/{id}") - public Result getInfo(@PathVariable("id") Long 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 e3750e8..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 @@ -32,7 +32,11 @@ public interface RemoteProjectSkuService { @GetMapping("/info/{projectId}/{projectSku}") public Result getInfoByProjectIdAndSku(@PathVariable("projectId") Long projectId, @PathVariable("projectSku") String projectSku); - + /** + * 通过商品ID和SKU获取SKU信息 + * @param projectId 商品ID + * @return 商品SKU信息 + */ @GetMapping("/list/{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 9504a8d..eb153c6 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 @@ -4,7 +4,6 @@ import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.remote.factory.RemoteRuleAttrFactory; -import com.muyu.product.remote.factory.RemoteRuleFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -12,10 +11,9 @@ import org.springframework.web.bind.annotation.PathVariable; import java.util.List; /** - * RemoteRuleAttrService - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: 规格信息远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ @FeignClient( contextId = "remoteRuleAttrService", @@ -24,6 +22,9 @@ import java.util.List; path = "/ruleAttr" ) public interface RemoteRuleAttrService { + /** + * 获取规格详情详细信息 + */ @GetMapping(value = "/list/ruleId/{ruleId}") 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 5cac60a..588e0f0 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 @@ -3,17 +3,15 @@ package com.muyu.product.remote; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.product.domain.RuleInfo; -import com.muyu.product.remote.factory.RemoteRuleAttrFactory; import com.muyu.product.remote.factory.RemoteRuleFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; /** - * RemoteRuleService - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调用业务层 + * @Date 2024-4-7 上午 10:58 */ @FeignClient( contextId = "remoteRuleService", @@ -22,8 +20,9 @@ import org.springframework.web.bind.annotation.PathVariable; path = "/rule" ) public interface RemoteRuleService { - - @GetMapping("/{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 216266f..072a1ff 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 @@ -6,18 +6,22 @@ import com.muyu.product.remote.RemoteProjectInfoService; import org.springframework.cloud.openfeign.FallbackFactory; /** - * RemoteProjectInfoFactory - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ -public class RemoteProjectInfoFactory implements FallbackFactory{ +public class RemoteProjectInfoFactory implements FallbackFactory { @Override - public RemoteProjectInfoService create(Throwable cause) { + public RemoteProjectInfoService create (Throwable cause) { return new RemoteProjectInfoService() { + /** + * 获取商品规格详细信息 + * + * @param id + */ @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/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 d631929..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 @@ -21,8 +21,15 @@ public class RemoteProjectSkuFactory implements FallbackFactory> 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 d1a30cb..b9b6273 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,10 +1,31 @@ package com.muyu.product.remote.factory; +import com.muyu.common.core.domain.Result; +import com.muyu.product.domain.RuleAttrInfo; +import com.muyu.product.remote.RemoteRuleAttrService; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.util.List; + /** - * RemoteRuleAttrFactory - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: 规格详情远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ -public class RemoteRuleAttrFactory { +public class RemoteRuleAttrFactory implements FallbackFactory { + @Override + public RemoteRuleAttrService create (Throwable cause) { + return new RemoteRuleAttrService() { + + /** + * 获取规格详情详细信息 + * + * @param id + */ + @Override + 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 64b5799..a2e0585 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,10 +1,29 @@ package com.muyu.product.remote.factory; +import com.muyu.common.core.domain.Result; +import com.muyu.product.domain.RuleInfo; +import com.muyu.product.remote.RemoteRuleService; +import org.springframework.cloud.openfeign.FallbackFactory; + /** - * RemoteRuleFactory - * - * @author DeKangLiu - * on 2024/4/8 + * @author DongZl + * @description: 规格远程调熔断器 + * @Date 2024-4-7 上午 10:59 */ -public class RemoteRuleFactory { +public class RemoteRuleFactory implements FallbackFactory { + @Override + public RemoteRuleService create (Throwable cause) { + return new RemoteRuleService() { + + /** + * 获取商品规格详细信息 + * + * @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/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 f75355b..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.RemoteProjectSkuFactory -com.muyu.product.remote.factory.RemoteProjectInfoFactory 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/cache/impl/ProjectInfoDataImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/cache/impl/ProjectInfoDataImpl.java index 0a489d6..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 @@ -4,16 +4,18 @@ import com.muyu.product.cache.datasource.ProjectInfoData; import com.muyu.product.domain.ProjectInfo; import com.muyu.product.service.ProjectInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; /** - * 缓存数据获取 ProjectInfoDataImpl - * - * @author LeYang - * on 2024/3/27 + * @author DongZl + * @description: 缓存数据获取 + * @Date 2024-3-27 下午 03:37 */ @Service -public class ProjectInfoDataImpl implements ProjectInfoData { +@Primary +public class ProjectInfoDataImpl implements ProjectInfoData { + @Autowired private ProjectInfoService projectInfoService; @@ -23,7 +25,7 @@ public class ProjectInfoDataImpl implements ProjectInfoData { * @return 缓存对象 */ @Override - public ProjectInfo getData(Long key){ + public ProjectInfo getData (Long key) { return projectInfoService.getById(key); } } 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 a5e855f..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 @@ -5,6 +5,7 @@ import com.muyu.product.cache.datasource.ProjectSkuData; import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.service.ProjectSkuInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; import java.util.List; @@ -12,26 +13,42 @@ import java.util.Map; import java.util.stream.Collectors; /** - * ProjectSkuDataImpl - * - * @author DeKangLiu - * on 2024/4/1 + * @author DongZl + * @description: 商品SKU实现类 + * @Date 2024-4-1 上午 11:38 */ @Service -public class ProjectSkuDataImpl implements ProjectSkuData{ +@Primary +public class ProjectSkuDataImpl implements ProjectSkuData { + @Autowired private ProjectSkuInfoService projectSkuInfoService; - @Override - public Map getData(Long projectId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ProjectSkuInfo::getProjectId,projectId); - List projectSkuInfoList = projectSkuInfoService.list(queryWrapper); - return projectSkuInfoList.stream().collect(Collectors.toMap(ProjectSkuInfo::getSku,projectSkuInfo -> projectSkuInfo)); + /** + * 通过键获取所有的hash数据 + * @param projectId 商品ID + * @return + */ + @Override + public Map getData (Long projectId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ProjectSkuInfo::getProjectId, projectId); + List projectSkuInfoList = projectSkuInfoService.list(queryWrapper); + return projectSkuInfoList.stream() + .collect(Collectors.toMap(ProjectSkuInfo::getSku, projectSkuInfo -> projectSkuInfo)); } + /** + * 通过缓存键和hash键获取hash值 + * @param projectId 商品ID + * @param projectSku 商品SKU + * @return hash值 + */ @Override - public ProjectSkuInfo getData(Long projectId, String projectSku) { - return null; + public ProjectSkuInfo getData (Long projectId, String projectSku) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ProjectSkuInfo::getProjectId, projectId); + queryWrapper.eq(ProjectSkuInfo::getSku, projectSku); + return projectSkuInfoService.getOne(queryWrapper); } } 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 f01d1a1..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 @@ -1,26 +1,27 @@ package com.muyu.product.cache.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.muyu.product.cache.datasource.ProjectSkuStockData; import com.muyu.product.cache.key.SkuStockKey; import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.service.ProjectSkuInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; /** - * sku库存实体类 ProjectSkuStockDataImpl - * - * @author DeKangLiu - * on 2024/4/2 + * @author DongZl + * @description: sku库存实现类 + * @Date 2024-4-2 上午 10:53 */ @Service -public class ProjectSkuStockDataImpl implements ProjectSkuStockData{ +@Primary +public class ProjectSkuStockDataImpl implements ProjectSkuStockData { + @Autowired private ProjectSkuInfoService projectSkuInfoService; @Override - public Long getData(SkuStockKey key) { + public Long getData (SkuStockKey key) { ProjectSkuInfo projectSkuInfo = projectSkuInfoService.getInfoByProjectIdAndSku(key.getProjectId(), key.getSku()); return projectSkuInfo.getStock(); } 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 ab4df70..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 @@ -51,6 +51,16 @@ public class ProjectSkuInfoController extends BaseController { return getDataTable(list); } + /** + * 通过商品ID获取SKU集合 + * @param projectId 商品ID + * @return 商品SKU集合 + */ + @GetMapping("/list/{projectId}") + public Result> listByProjectId(@PathVariable("projectId") Long projectId){ + return Result.success(projectSkuInfoService.listByProjectId(projectId)); + } + /** * 导出商品SKU列表 */ 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 72ed081..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 @@ -20,4 +20,6 @@ public interface ProjectSkuInfoService extends IService { public List list(ProjectSkuInfo projectSkuInfo); ProjectSkuInfo getInfoByProjectIdAndSku(Long projectId, String projectSku); + + List listByProjectId(Long projectId); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectSkuInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectSkuInfoServiceImpl.java index 9a64021..2e0e33c 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectSkuInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectSkuInfoServiceImpl.java @@ -66,4 +66,12 @@ public class ProjectSkuInfoServiceImpl extends ServiceImpl listByProjectId(Long projectId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ProjectSkuInfo::getProjectId,projectId); + + return this.list(queryWrapper); + } } diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectInfoDataImpl.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectInfoDataImpl.java deleted file mode 100644 index 530173d..0000000 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectInfoDataImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.muyu.shop.cart.cache.impl; - -import com.muyu.product.cache.datasource.ProjectInfoData; -import com.muyu.product.domain.ProjectInfo; -import org.springframework.stereotype.Service; - -/** - * ProjectInfoDataImpl - * - * @author DeKangLiu - * on 2024/4/7 - */ -@Service -public class ProjectInfoDataImpl implements ProjectInfoData { - - /** - * 从数据库 获取数据 - * @param key ID - * @return 缓存对象 - */ - @Override - public ProjectInfo getData(Long key) { - return new ProjectInfo(); - } -} diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectSkuDataImpl.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectSkuDataImpl.java deleted file mode 100644 index d0b4337..0000000 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectSkuDataImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.muyu.shop.cart.cache.impl; - -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 org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; - -/** - * ProjectSkuDataImpl - * - * @author DeKangLiu - * on 2024/4/7 - */ -@Service -public class ProjectSkuDataImpl implements ProjectSkuData { - - /** - * 通过键获取所有的hash数据 - * @param projectId 商品ID - * @return - */ - @Override - public Map getData (Long projectId) { - return new HashMap<>(); - } - - /** - * 通过缓存键和hash键获取hash值 - * @param projectId 商品ID - * @param projectSku 商品SKU - * @return hash值 - */ - @Override - public ProjectSkuInfo getData (Long projectId, String projectSku) { - return new ProjectSkuInfo(); - } -} diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectSkuStockDataRemoteImpl.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectSkuStockDataRemoteImpl.java deleted file mode 100644 index 1eecb67..0000000 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/cache/impl/ProjectSkuStockDataRemoteImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.shop.cart.cache.impl; - -import com.muyu.common.core.domain.Result; -import com.muyu.product.cache.datasource.ProjectSkuStockData; -import com.muyu.product.cache.key.SkuStockKey; -import com.muyu.product.domain.ProjectSkuInfo; -import com.muyu.product.remote.RemoteProjectSkuService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.Objects; - -/** - * ProjectSkuStockDataRemoteImpl - * - * @author DeKangLiu - * on 2024/4/7 - */ -@Service -public class ProjectSkuStockDataRemoteImpl implements ProjectSkuStockData{ - - @Autowired - private RemoteProjectSkuService remoteProjectSkuService; - - @Override - public Long getData(SkuStockKey key) { - Result result - = remoteProjectSkuService.getInfoByProjectIdAndSku(key.getProjectId(), key.getSku()); - if (Result.isSuccess(result)){ - ProjectSkuInfo projectSkuInfo = result.getData(); - if (!Objects.isNull(projectSkuInfo)){ - return projectSkuInfo.getStock(); - } - } - return 0L; - } -}