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)); }