From d9c05c023238f017436a7fd8a7f9f42c49ee4e34 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Sat, 11 Oct 2025 22:13:56 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E5=95=86=E5=93=81=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E7=A9=BA=E6=8C=87=E9=92=88BUG=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/migartion/GtAndTyBizController.java | 65 ++++++++++--------- .../xkt/migartion/TyController.java | 14 ++-- .../service/impl/StoreProductServiceImpl.java | 3 +- 3 files changed, 42 insertions(+), 40 deletions(-) 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 38d520039..800b66dba 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 @@ -92,7 +92,9 @@ public class GtAndTyBizController extends BaseController { } - + /** + * step1 + */ @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @GetMapping("/compare/{userId}") public void compare(HttpServletResponse response, @PathVariable("userId") Integer userId) throws UnsupportedEncodingException { @@ -197,10 +199,8 @@ public class GtAndTyBizController extends BaseController { } /** + * step2 * 颜色、客户、商品初始化(包含类目属性及服务等) - * - * @param initVO - * @return */ @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @PostMapping("/init-prod") @@ -223,14 +223,14 @@ public class GtAndTyBizController extends BaseController { .getCacheObject(CacheConstants.MIGRATION_GT_SALE_BASIC_KEY + initVO.getUserId()), new ArrayList<>()); // 查看gt 在售的商品 这边有多少相似的货号 gtSaleBasicList.stream().map(GtProdSkuVO::getArticle_number).distinct() - // 过滤掉需要特殊处理的货号 - .filter(article_number -> !initVO.getExcludeArtNoList().contains(article_number)) .forEach(article_number -> { // 只保留核心连续的数字,去除其他所有符号 String cleanArtNo = this.extractCoreArticleNumber(article_number); - List existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>(); - existList.add(article_number); - multiSaleSameGoMap.put(cleanArtNo, existList); + if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) { + List existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>(); + existList.add(article_number); + multiSaleSameGoMap.put(cleanArtNo, existList); + } }); // 查看gt 下架的商品有多少相似的货号 List gtOffSaleBasicList = ObjectUtils.defaultIfNull(redisCache @@ -245,14 +245,14 @@ public class GtAndTyBizController extends BaseController { // 查看TY 这边有多少相似的货号 List tyProdList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_KEY + initVO.getUserId()); tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct() - // 过滤掉需要特殊处理的货号 - .filter(artNo -> !initVO.getExcludeArtNoList().contains(artNo)) .forEach(artNo -> { // 只保留核心连续的数字,去除其他所有符号 String cleanArtNo = this.extractCoreArticleNumber(artNo); - List existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>(); - existList.add(artNo); - multiSameTyMap.put(cleanArtNo, existList); + if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) { + List existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>(); + existList.add(artNo); + multiSameTyMap.put(cleanArtNo, existList); + } }); // gt按照货号分组 Map> gtSaleGroupMap = gtSaleBasicList.stream().collect(Collectors.groupingBy(GtProdSkuVO::getArticle_number)); @@ -317,10 +317,8 @@ public class GtAndTyBizController extends BaseController { /** + * step3 * 商品颜色及商品颜色尺码 - * - * @param initVO - * @return */ @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @PostMapping("/init-color") @@ -340,14 +338,14 @@ public class GtAndTyBizController extends BaseController { .getCacheObject(CacheConstants.MIGRATION_GT_SALE_BASIC_KEY + initVO.getUserId()), new ArrayList<>()); // 查看gt 在售的商品 这边有多少相似的货号 gtSaleBasicList.stream().map(GtProdSkuVO::getArticle_number).distinct() - // 过滤掉需要特殊处理的货号 - .filter(article_number -> !initVO.getExcludeArtNoList().contains(article_number)) .forEach(article_number -> { // 只保留核心连续的数字,去除其他所有符号 String cleanArtNo = this.extractCoreArticleNumber(article_number); - List existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>(); - existList.add(article_number); - multiSaleSameGoMap.put(cleanArtNo, existList); + if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) { + List existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>(); + existList.add(article_number); + multiSaleSameGoMap.put(cleanArtNo, existList); + } }); // 查看gt 下架的商品有多少相似的货号 @@ -366,14 +364,14 @@ public class GtAndTyBizController extends BaseController { // TY按照颜色分类 Map> tyProdGroupMap = tyProdList.stream().collect(Collectors.groupingBy(TyProdImportVO::getProdArtNum)); tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct() - // 过滤掉需要特殊处理的货号 - .filter(artNo -> !initVO.getExcludeArtNoList().contains(artNo)) .forEach(artNo -> { // 只保留核心连续的数字,去除其他所有符号 String cleanArtNo = this.extractCoreArticleNumber(artNo); - List existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>(); - existList.add(artNo); - multiSameTyMap.put(cleanArtNo, existList); + if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) { + List existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>(); + existList.add(artNo); + multiSameTyMap.put(cleanArtNo, existList); + } }); // gt按照货号分组 Map> gtSaleGroupMap = gtSaleBasicList.stream().collect(Collectors.groupingBy(GtProdSkuVO::getArticle_number)); @@ -420,6 +418,9 @@ public class GtAndTyBizController extends BaseController { return R.ok(); } + /** + * step4 + */ @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @PostMapping("/init-cus-disc") @Transactional @@ -436,14 +437,14 @@ public class GtAndTyBizController extends BaseController { // 查看TY 这边有多少相似的货号 List tyProdList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_KEY + initVO.getUserId()); tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct() - // 过滤掉需要特殊处理的货号 - .filter(artNo -> !initVO.getExcludeArtNoList().contains(artNo)) .forEach(artNo -> { // 只保留核心连续的数字,去除其他所有符号 String cleanArtNo = this.extractCoreArticleNumber(artNo); - List existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>(); - existList.add(artNo); - multiSameTyMap.put(cleanArtNo, existList); + if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) { + List existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>(); + existList.add(artNo); + multiSameTyMap.put(cleanArtNo, existList); + } }); // 从redis中获取已存在的客户优惠数据 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 a6605905f..7cead7b87 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 @@ -59,8 +59,8 @@ public class TyController extends BaseController { String colorName = x.getColorName().trim(); String tySnPrefix = x.getTySnPrefix().trim(); // 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里” - if (prodArtNum.contains("-R")) { - colorName = colorName.contains("绒里") ? colorName : (colorName + "绒里"); + if (prodArtNum.contains("R")) { + colorName = colorName.contains("绒") ? colorName : (colorName + "绒里"); } return x.setProdArtNum(prodArtNum).setColorName(colorName).setTySnPrefix(tySnPrefix); }) @@ -124,8 +124,8 @@ public class TyController extends BaseController { String prodArtNum = x.getProdArtNum().trim(); String colorName = x.getColorName().trim(); // 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里” - if (prodArtNum.contains("-R")) { - colorName = colorName.contains("绒里") ? colorName : (colorName + "绒里"); + if (prodArtNum.contains("R")) { + colorName = colorName.contains("绒") ? colorName : (colorName + "绒里"); } x.setProdArtNum(prodArtNum).setColorName(colorName).setCusName(cusName).setDiscount(discount); importCusDiscMap.put(x.getProdArtNum() + ":" + x.getColorName(), x); @@ -156,9 +156,9 @@ public class TyController extends BaseController { tyStockList.forEach(x -> { String prodArtNum = x.getProdArtNum().trim(); String colorName = x.getColorName().trim(); - // 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里” - if (prodArtNum.contains("-R")) { - colorName = colorName.contains("绒里") ? colorName : (colorName + "绒里"); + // 如果货号包括R 则表明是 货号为绒里,手动给颜色添加后缀“绒里” + if (prodArtNum.contains("R")) { + colorName = colorName.contains("绒") ? colorName : (colorName + "绒里"); } if (importStockMap.containsKey(prodArtNum + ":" + colorName)) { System.err.println(prodArtNum + ":" + colorName); diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java index 77211ff6f..8eabef15e 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java @@ -139,7 +139,8 @@ public class StoreProductServiceImpl implements IStoreProductService { StoreProductService storeProductSvc = this.storeProdSvcMapper.selectByStoreProdId(storeProdId); // 档口生产工艺信息 StoreProductProcess prodProcess = this.storeProdProcMapper.selectByStoreProdId(storeProdId); - return storeProdResDTO.setFileList(fileResList).setAllColorList(allColorList).setDetail(prodDetail.getDetail()) + return storeProdResDTO.setFileList(fileResList).setAllColorList(allColorList) + .setDetail(ObjectUtils.isNotEmpty(prodDetail) ? prodDetail.getDetail() : "") .setColorList(colorList).setSizeList(sizeList).setCateAttr(BeanUtil.toBean(cateAttr, StoreProdCateAttrDTO.class)) .setSvc(BeanUtil.toBean(storeProductSvc, StoreProdSvcDTO.class)).setProcess(BeanUtil.toBean(prodProcess, StoreProdProcessDTO.class)); }