From da4c8f4e5888b13d552d43ead07218d1c96d0c3d Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Thu, 6 Nov 2025 14:16:27 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E6=95=B0=E6=8D=AE=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=EF=BC=8C=E5=AE=A2=E6=88=B7=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=A2=9E=E5=8A=A0=E8=BF=87=E6=BB=A4=E5=8F=8A?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/web/controller/xkt/migartion/FhbController.java | 6 +++++- .../xkt/migartion/FhbOtherBizAfterController.java | 5 +++-- .../web/controller/xkt/migartion/GtAndFhbBizController.java | 5 +++-- .../web/controller/xkt/migartion/GtAndTyBiz2Controller.java | 4 ++-- .../web/controller/xkt/migartion/GtAndTyBizController.java | 4 ++-- .../controller/xkt/migartion/TYOtherBizAfterController.java | 4 ++-- .../ruoyi/web/controller/xkt/migartion/TyController.java | 5 +++++ .../main/resources/mapper/StoreProductColorSizeMapper.xml | 4 ++-- 8 files changed, 24 insertions(+), 13 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbController.java index 4388cd36e..a089a6f97 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbController.java @@ -113,6 +113,10 @@ public class FhbController extends BaseController { List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_CUS_DISCOUNT_KEY + supplierId), new ArrayList<>()); CollectionUtils.addAll(cacheList, cusDiscountVO.getData().getRecords()); + // 如果cacheList不为空,则滤重 + if (CollectionUtils.isNotEmpty(cacheList)) { + cacheList = cacheList.stream().distinct().collect(Collectors.toList()); + } // 存到redis中 redisCache.setCacheObject(CacheConstants.MIGRATION_SUPPLIER_CUS_DISCOUNT_KEY + supplierId, cacheList, 5, TimeUnit.DAYS); return R.ok(); @@ -144,7 +148,7 @@ public class FhbController extends BaseController { */ @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @GetMapping("/error/cus/price/{supplierId}") - public void getErrorCusDisc(HttpServletResponse response, @PathVariable Integer supplierId) throws UnsupportedEncodingException { + public void getErrorCusDisc(HttpServletResponse response, @PathVariable Integer supplierId) throws UnsupportedEncodingException { // 先从redis中获取列表数据 List cacheList = ObjectUtils.defaultIfNull(redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_CUS_DISCOUNT_KEY + supplierId), new ArrayList<>()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java index 306107ab1..8b30c736b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java @@ -330,8 +330,9 @@ public class FhbOtherBizAfterController extends BaseController { if (CollectionUtils.isEmpty(fhbCusDiscCacheList)) { throw new ServiceException("fhb供应商客户优惠列表为空!" + supplierId, HttpStatus.ERROR); } - // 增加一重保险,客户优惠必须是大于0的 - fhbCusDiscCacheList = fhbCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).collect(Collectors.toList()); + // 增加一重保险,客户优惠必须是大于0的;且必须滤重 + fhbCusDiscCacheList = fhbCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).distinct().collect(Collectors.toList()); + List fhbStockCacheList = redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_PROD_STOCK_KEY + supplierId); if (CollectionUtils.isEmpty(fhbStockCacheList)) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java index afb1d9c46..17a81fde8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java @@ -483,8 +483,9 @@ public class GtAndFhbBizController extends BaseController { if (CollectionUtils.isEmpty(fhbCusDiscCacheList)) { throw new ServiceException("fhb供应商客户优惠列表为空!" + initVO.getSupplierId(), HttpStatus.ERROR); } - // 2025.10.16 增加一重保险,客户优惠必须是大于0的 - fhbCusDiscCacheList = fhbCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).collect(Collectors.toList()); + // 2025.10.16 增加一重保险,客户优惠必须是大于0的;且必须滤重 + fhbCusDiscCacheList = fhbCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).distinct().collect(Collectors.toList()); + List fhbStockCacheList = redisCache .getCacheObject(CacheConstants.MIGRATION_SUPPLIER_PROD_STOCK_KEY + initVO.getSupplierId()); if (CollectionUtils.isEmpty(fhbStockCacheList)) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java index c0d5b1c95..5acfc19bc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java @@ -393,8 +393,8 @@ public class GtAndTyBiz2Controller extends BaseController { if (CollectionUtils.isEmpty(tyCusDiscCacheList)) { throw new ServiceException("ty供应商客户优惠列表为空!" + initVO.getUserId(), HttpStatus.ERROR); } - // 增加一重保险,客户优惠必须大于0 - tyCusDiscCacheList = tyCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).collect(Collectors.toList()); + // 增加一重保险,客户优惠必须大于0;且必须滤重 + tyCusDiscCacheList = tyCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).distinct().collect(Collectors.toList()); // 从redis中获取已存在的商品库存数据 List tyStockList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_STOCK_KEY + initVO.getUserId()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java index 04aa339fe..1db4e24ed 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java @@ -434,8 +434,8 @@ public class GtAndTyBizController extends BaseController { if (CollectionUtils.isEmpty(tyCusDiscCacheList)) { throw new ServiceException("ty供应商客户优惠列表为空!" + initVO.getUserId(), HttpStatus.ERROR); } - // 增加一重保险,客户优惠必须大于0 - tyCusDiscCacheList = tyCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).collect(Collectors.toList()); + // 增加一重保险,客户优惠必须大于0;且必须滤重 + tyCusDiscCacheList = tyCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).distinct().collect(Collectors.toList()); // 从redis中获取已存在的商品库存数据 List tyStockList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_STOCK_KEY + initVO.getUserId()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java index 1c131d37f..4d758f02c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java @@ -313,8 +313,8 @@ public class TYOtherBizAfterController extends BaseController { if (CollectionUtils.isEmpty(tyCusDiscCacheList)) { throw new ServiceException("ty供应商客户优惠列表为空!" + userId, HttpStatus.ERROR); } - // 增加一重保险,客户优惠必须大于0 - tyCusDiscCacheList = tyCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).collect(Collectors.toList()); + // 增加一重保险,客户优惠必须大于0;且必须滤重 + tyCusDiscCacheList = tyCusDiscCacheList.stream().filter(x -> x.getDiscount() > 0).distinct().collect(Collectors.toList()); // 从redis中获取已存在的商品库存数据 List tyStockList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_STOCK_KEY + userId); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TyController.java index 8e3b05e95..b9bbb749b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TyController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TyController.java @@ -138,6 +138,7 @@ public class TyController extends BaseController { @PostMapping("/cus/disc/cache") public R createCusDiscCache(@RequestParam(value = "userId") Long userId, @RequestParam("compareStr") String compareStr, MultipartFile file) throws IOException { + // 导入的excel名,只取客户名称 final String cusName = file.getOriginalFilename().replaceAll("\\..*$", "").replaceAll("[^\\u4e00-\\u9fa50-9]", "").trim(); ExcelUtil util = new ExcelUtil<>(TyCusDiscImportVO.class); List tyProdVOList = util.importExcel(file.getInputStream()); @@ -183,6 +184,10 @@ public class TyController extends BaseController { }); // 加到总的客户优惠上 CollectionUtils.addAll(cacheList, importList); + // 如果客户优惠不为空,则滤重 + if (CollectionUtils.isNotEmpty(cacheList)) { + cacheList = cacheList.stream().distinct().collect(Collectors.toList()); + } // TODO 过滤优惠大于0 是在比较插入数据的时候做的 // 存到redis中 redisCache.setCacheObject(CacheConstants.MIGRATION_TY_CUS_DISCOUNT_KEY + userId, cacheList); diff --git a/xkt/src/main/resources/mapper/StoreProductColorSizeMapper.xml b/xkt/src/main/resources/mapper/StoreProductColorSizeMapper.xml index a208a60ca..c59259aec 100644 --- a/xkt/src/main/resources/mapper/StoreProductColorSizeMapper.xml +++ b/xkt/src/main/resources/mapper/StoreProductColorSizeMapper.xml @@ -35,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" spcs.standard, sp.prod_art_num, spcs.price, - ( SELECT discount FROM store_customer_product_discount WHERE store_cus_id = #{storeCusId} AND store_prod_color_id = spc.id AND del_flag = 0 ) AS discount + ( SELECT DISTINCT discount FROM store_customer_product_discount WHERE store_cus_id = #{storeCusId} AND store_prod_color_id = spc.id AND del_flag = 0 ) AS discount FROM store_product_color_size spcs JOIN store_product sp ON spcs.store_prod_id = sp.id @@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" spcs.standard, sp.prod_art_num, spcs.price, - ( SELECT discount FROM store_customer_product_discount WHERE store_cus_id = #{storeCusId} AND store_prod_color_id = spc.id AND del_flag = 0 ) AS discount + ( SELECT DISTINCT discount FROM store_customer_product_discount WHERE store_cus_id = #{storeCusId} AND store_prod_color_id = spc.id AND del_flag = 0 ) AS discount FROM store_product_color_size spcs JOIN store_product sp ON spcs.store_prod_id = sp.id