From 173976a170b5c628c73f4ad59bf7f30fc9588323 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Tue, 23 Sep 2025 09:58:44 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E7=B3=BB=E7=BB=9F=E8=B0=83?= =?UTF-8?q?=E4=BC=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/shipMaster/CompareBizController.java | 16 ++--- .../xkt/shipMaster/DoubleRunController.java | 29 ++++---- .../xkt/shipMaster/ShipMasterController.java | 67 +++++++++++++++---- .../vo/{ => doubRun}/DoubleRunAttrVO.java | 2 +- .../DoubleRunProdVO.java} | 4 +- .../vo/shipMaster/ShipMasterCusVO.java | 27 ++++++++ .../ShipMasterProdVO.java} | 4 +- .../ruoyi/common/constant/CacheConstants.java | 6 +- 8 files changed, 112 insertions(+), 43 deletions(-) rename ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/{ => doubRun}/DoubleRunAttrVO.java (93%) rename ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/{DoubleRunVO.java => doubRun/DoubleRunProdVO.java} (89%) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterCusVO.java rename ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/{ShipMasterVO.java => shipMaster/ShipMasterProdVO.java} (83%) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/CompareBizController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/CompareBizController.java index b87888283..9d98a4f18 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/CompareBizController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/CompareBizController.java @@ -4,8 +4,8 @@ import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.web.controller.xkt.shipMaster.vo.DoubleRunVO; -import com.ruoyi.web.controller.xkt.shipMaster.vo.ShipMasterVO; +import com.ruoyi.web.controller.xkt.shipMaster.vo.doubRun.DoubleRunProdVO; +import com.ruoyi.web.controller.xkt.shipMaster.vo.shipMaster.ShipMasterProdVO; import com.ruoyi.xkt.service.shipMaster.IShipMasterService; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.ObjectUtils; @@ -37,9 +37,9 @@ public class CompareBizController extends BaseController { Map> multiSaleSameGoMap = new HashMap<>(); Map> multiOffSaleSameGoMap = new HashMap<>(); Map> multiSameFMap = new HashMap<>(); - List doubleRunSaleBasicList = ObjectUtils.defaultIfNull(redisCache + List doubleRunSaleBasicList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_DOUBLE_RUN_SALE_BASIC_KEY + userId), new ArrayList<>()); - List doubleRunSaleArtNoList = doubleRunSaleBasicList.stream().map(DoubleRunVO.DRIArtNoSkuVO::getArticle_number) + List doubleRunSaleArtNoList = doubleRunSaleBasicList.stream().map(DoubleRunProdVO.DRIArtNoSkuVO::getArticle_number) .distinct().collect(Collectors.toList()); // 查看double_run 在售的商品 这边有多少相似的货号 doubleRunSaleArtNoList.forEach(article_number -> { @@ -51,9 +51,9 @@ public class CompareBizController extends BaseController { }); // 查看double_run 下架的商品有多少相似的货号 - List doubleRunOffSaleBasicList = ObjectUtils.defaultIfNull(redisCache + List doubleRunOffSaleBasicList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_DOUBLE_RUN_OFF_SALE_BASIC_KEY + userId), new ArrayList<>()); - List doubleRunOffSaleArtNoList = doubleRunOffSaleBasicList.stream().map(DoubleRunVO.DRIArtNoSkuVO::getArticle_number) + List doubleRunOffSaleArtNoList = doubleRunOffSaleBasicList.stream().map(DoubleRunProdVO.DRIArtNoSkuVO::getArticle_number) .distinct().collect(Collectors.toList()); doubleRunOffSaleArtNoList.forEach(article_number -> { // 只保留数字,去除其他所有符号 @@ -65,9 +65,9 @@ public class CompareBizController extends BaseController { // 查看ShipMaster 这边有多少相似的货号 - List shipMasterProdList = ObjectUtils.defaultIfNull(redisCache + List shipMasterProdList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_PROD_KEY + supplierId), new ArrayList<>()); - List shipArtNoList = shipMasterProdList.stream().map(ShipMasterVO.SMIVO::getArtNo) + List shipArtNoList = shipMasterProdList.stream().map(ShipMasterProdVO.SMIVO::getArtNo) .distinct().collect(Collectors.toList()); shipArtNoList.forEach(artNo -> { // 只保留数字,去除其他所有符号 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/DoubleRunController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/DoubleRunController.java index 6d129f742..1682244a3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/DoubleRunController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/DoubleRunController.java @@ -6,8 +6,8 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.web.controller.xkt.shipMaster.vo.DoubleRunAttrVO; -import com.ruoyi.web.controller.xkt.shipMaster.vo.DoubleRunVO; +import com.ruoyi.web.controller.xkt.shipMaster.vo.doubRun.DoubleRunAttrVO; +import com.ruoyi.web.controller.xkt.shipMaster.vo.doubRun.DoubleRunProdVO; import com.ruoyi.xkt.service.shipMaster.IShipMasterService; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; @@ -18,7 +18,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -36,11 +35,11 @@ public class DoubleRunController extends BaseController { @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @PostMapping("/sale/cache") - public R createSaleCache(@Validated @RequestBody DoubleRunVO doubleRunVO) { - List artNoList = doubleRunVO.getData().getData(); + public R createSaleCache(@Validated @RequestBody DoubleRunProdVO doubleRunVO) { + List artNoList = doubleRunVO.getData().getData(); final Integer userId = doubleRunVO.getData().getData().get(0).getUser_id(); // 先从redis中获取列表数据 - List cacheList = ObjectUtils.defaultIfNull(redisCache + List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_DOUBLE_RUN_SALE_BASIC_KEY + userId), new ArrayList<>()); artNoList.forEach(artNoInfo -> { artNoInfo.getSkus().forEach(x -> x.setColor(this.decodeUnicode(x.getColor())) @@ -54,11 +53,11 @@ public class DoubleRunController extends BaseController { @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @PostMapping("/off-sale/cache") - public R createOffSaleCache(@Validated @RequestBody DoubleRunVO doubleRunVO) { - List artNoList = doubleRunVO.getData().getData(); + public R createOffSaleCache(@Validated @RequestBody DoubleRunProdVO doubleRunVO) { + List artNoList = doubleRunVO.getData().getData(); final Integer userId = doubleRunVO.getData().getData().get(0).getUser_id(); // 先从redis中获取列表数据 - List cacheList = ObjectUtils.defaultIfNull(redisCache + List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_DOUBLE_RUN_OFF_SALE_BASIC_KEY + userId), new ArrayList<>()); artNoList.forEach(artNoInfo -> { artNoInfo.getSkus().forEach(x -> x.setColor(this.decodeUnicode(x.getColor())) @@ -100,20 +99,20 @@ public class DoubleRunController extends BaseController { @GetMapping("/cache/{userId}") public R getCache(@PathVariable Integer userId) { // 从redis中获取数据 - List cacheList = ObjectUtils.defaultIfNull(redisCache + List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_DOUBLE_RUN_SALE_BASIC_KEY + userId), new ArrayList<>()); if (CollectionUtils.isEmpty(cacheList)) { return R.fail(); } - Map> artNoGroup = cacheList.stream() - .sorted(Comparator.comparing(DoubleRunVO.DRIArtNoSkuVO::getArticle_number) - .thenComparing(DoubleRunVO.DRIArtNoSkuVO::getColor)) + Map> artNoGroup = cacheList.stream() + .sorted(Comparator.comparing(DoubleRunProdVO.DRIArtNoSkuVO::getArticle_number) + .thenComparing(DoubleRunProdVO.DRIArtNoSkuVO::getColor)) .collect(Collectors - .groupingBy(DoubleRunVO.DRIArtNoSkuVO::getArticle_number, LinkedHashMap::new, Collectors.toList())); + .groupingBy(DoubleRunProdVO.DRIArtNoSkuVO::getArticle_number, LinkedHashMap::new, Collectors.toList())); // 货号 颜色 map Map> artNoColorMap = new LinkedHashMap<>(); artNoGroup.forEach((artNo, colorList) -> { - artNoColorMap.put(artNo, colorList.stream().map(DoubleRunVO.DRIArtNoSkuVO::getColor).collect(Collectors.toList())); + artNoColorMap.put(artNo, colorList.stream().map(DoubleRunProdVO.DRIArtNoSkuVO::getColor).collect(Collectors.toList())); }); artNoColorMap.forEach((k,v) -> { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/ShipMasterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/ShipMasterController.java index a7c9ad951..ca95e9861 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/ShipMasterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/ShipMasterController.java @@ -4,7 +4,8 @@ import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.web.controller.xkt.shipMaster.vo.ShipMasterVO; +import com.ruoyi.web.controller.xkt.shipMaster.vo.shipMaster.ShipMasterCusVO; +import com.ruoyi.web.controller.xkt.shipMaster.vo.shipMaster.ShipMasterProdVO; import com.ruoyi.xkt.service.shipMaster.IShipMasterService; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; @@ -31,40 +32,62 @@ public class ShipMasterController extends BaseController { final RedisCache redisCache; @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") - @PostMapping("/cache") - public R createCache(@Validated @RequestBody ShipMasterVO importVO) { + @PostMapping("/prod/cache") + public R createProdCache(@Validated @RequestBody ShipMasterProdVO prodVO) { // 供应商ID - final Integer supplierId = importVO.getData().getRecords().get(0).getSupplierId(); + final Integer supplierId = prodVO.getData().getRecords().get(0).getSupplierId(); + if (CollectionUtils.isEmpty(prodVO.getData().getRecords())) { + return R.ok(); + } // 先从redis中获取列表数据 - List cacheList = ObjectUtils.defaultIfNull(redisCache + List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_PROD_KEY + supplierId), new ArrayList<>()); - CollectionUtils.addAll(cacheList, importVO.getData().getRecords()); + CollectionUtils.addAll(cacheList, prodVO.getData().getRecords()); // 存到redis中 redisCache.setCacheObject(CacheConstants.MIGRATION_SUPPLIER_PROD_KEY + supplierId, cacheList, 5, TimeUnit.DAYS); return R.ok(); } @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") - @GetMapping("/cache/{supplierId}") - public R getCache(@PathVariable Integer supplierId) { + @PostMapping("/cus/cache") + public R createCusCache(@Validated @RequestBody ShipMasterCusVO cusVO) { + // 供应商ID + final Integer supplierId = cusVO.getData().getRecords().get(0).getSupplierId(); + if (CollectionUtils.isEmpty(cusVO.getData().getRecords())) { + return R.ok(); + } + // 先从redis中获取列表数据 + List cacheList = ObjectUtils.defaultIfNull(redisCache + .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_CUS_KEY + supplierId), new ArrayList<>()); + CollectionUtils.addAll(cacheList, cusVO.getData().getRecords()); + // 存到redis中 + redisCache.setCacheObject(CacheConstants.MIGRATION_SUPPLIER_CUS_KEY + supplierId, cacheList, 5, TimeUnit.DAYS); + return R.ok(); + } + + + + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") + @GetMapping("/prod/cache/{supplierId}") + public R getProdCache(@PathVariable Integer supplierId) { // 从redis中获取数据 - List cacheList = ObjectUtils.defaultIfNull(redisCache + List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_PROD_KEY + supplierId), new ArrayList<>()); if (CollectionUtils.isEmpty(cacheList)) { return R.fail(); } // 按照artNo分组 - Map> artNoGroup = cacheList.stream() - .sorted(Comparator.comparing(ShipMasterVO.SMIVO::getArtNo) - .thenComparing(ShipMasterVO.SMIVO::getColor)) + Map> artNoGroup = cacheList.stream() + .sorted(Comparator.comparing(ShipMasterProdVO.SMIVO::getArtNo) + .thenComparing(ShipMasterProdVO.SMIVO::getColor)) .collect(Collectors - .groupingBy(ShipMasterVO.SMIVO::getArtNo, LinkedHashMap::new, Collectors.toList())); + .groupingBy(ShipMasterProdVO.SMIVO::getArtNo, LinkedHashMap::new, Collectors.toList())); // 货号 颜色 对应的条码前缀 Map> artSnPrefixMap = new LinkedHashMap<>(); // 货号 颜色 map Map> artNoColorMap = new LinkedHashMap<>(); artNoGroup.forEach((artNo, colorList) -> { - artNoColorMap.put(artNo, colorList.stream().map(ShipMasterVO.SMIVO::getColor).collect(Collectors.toList())); + artNoColorMap.put(artNo, colorList.stream().map(ShipMasterProdVO.SMIVO::getColor).collect(Collectors.toList())); Map snPrefixMap = new LinkedHashMap<>(); // 按照颜色设置条码前缀 colorList.forEach(color -> snPrefixMap @@ -81,4 +104,20 @@ public class ShipMasterController extends BaseController { } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") + @GetMapping("/cus/cache/{supplierId}") + public R getCusCache(@PathVariable Integer supplierId) { + // 从redis中获取数据 + List cacheList = ObjectUtils.defaultIfNull(redisCache + .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_CUS_KEY + supplierId), new ArrayList<>()); + if (CollectionUtils.isEmpty(cacheList)) { + return R.fail(); + } + Map> cusGroupMap = cacheList.stream().collect(Collectors + .groupingBy(ShipMasterCusVO.SMCVO::getSupplierId, LinkedHashMap::new, Collectors.toList())); + System.err.println(cusGroupMap); + return R.ok(); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/DoubleRunAttrVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/doubRun/DoubleRunAttrVO.java similarity index 93% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/DoubleRunAttrVO.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/doubRun/DoubleRunAttrVO.java index 90daa78ee..d2766d435 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/DoubleRunAttrVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/doubRun/DoubleRunAttrVO.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.xkt.shipMaster.vo; +package com.ruoyi.web.controller.xkt.shipMaster.vo.doubRun; import lombok.Data; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/DoubleRunVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/doubRun/DoubleRunProdVO.java similarity index 89% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/DoubleRunVO.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/doubRun/DoubleRunProdVO.java index 930df790f..ae8357272 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/DoubleRunVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/doubRun/DoubleRunProdVO.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.xkt.shipMaster.vo; +package com.ruoyi.web.controller.xkt.shipMaster.vo.doubRun; import lombok.Data; import lombok.experimental.Accessors; @@ -11,7 +11,7 @@ import java.util.List; * @date 2025-05-11 23:46 */ @Data -public class DoubleRunVO { +public class DoubleRunProdVO { private DRIDataVO data; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterCusVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterCusVO.java new file mode 100644 index 000000000..e09b30a94 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterCusVO.java @@ -0,0 +1,27 @@ +package com.ruoyi.web.controller.xkt.shipMaster.vo.shipMaster; + +import lombok.Data; + +import java.util.List; + +/** + * @author liangyq + * @date 2025-05-11 23:46 + */ +@Data +public class ShipMasterCusVO { + + private SMCDataVO data; + + @Data + public static class SMCDataVO { + private List records; + } + + @Data + public static class SMCVO { + private Integer supplierId; + private String name; + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/ShipMasterVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterProdVO.java similarity index 83% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/ShipMasterVO.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterProdVO.java index da00c2414..1f069f4fa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/ShipMasterVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/shipMaster/vo/shipMaster/ShipMasterProdVO.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.xkt.shipMaster.vo; +package com.ruoyi.web.controller.xkt.shipMaster.vo.shipMaster; import lombok.Data; @@ -9,7 +9,7 @@ import java.util.List; * @date 2025-05-11 23:46 */ @Data -public class ShipMasterVO { +public class ShipMasterProdVO { private SMIDataVO data; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java index 98cf7ffff..26c59f580 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java @@ -313,9 +313,13 @@ public class CacheConstants { */ public static final String STORE_PROD_VIEW_COUNT_CACHE = "store_prod_view_count_cache"; /** - * 供应商缓存 + * FHB商品缓存 */ public static final String MIGRATION_SUPPLIER_PROD_KEY = "mig_supplier_prod:"; + /** + * FHB客户缓存 + */ + public static final String MIGRATION_SUPPLIER_CUS_KEY = "mig_supplier_cus:"; /** * double_run在售缓存 */