master:商品详情空指针BUG解决;
parent
41c238f15d
commit
d9c05c0232
|
|
@ -92,7 +92,9 @@ public class GtAndTyBizController extends BaseController {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* step1
|
||||||
|
*/
|
||||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
||||||
@GetMapping("/compare/{userId}")
|
@GetMapping("/compare/{userId}")
|
||||||
public void compare(HttpServletResponse response, @PathVariable("userId") Integer userId) throws UnsupportedEncodingException {
|
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')")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
||||||
@PostMapping("/init-prod")
|
@PostMapping("/init-prod")
|
||||||
|
|
@ -223,14 +223,14 @@ public class GtAndTyBizController extends BaseController {
|
||||||
.getCacheObject(CacheConstants.MIGRATION_GT_SALE_BASIC_KEY + initVO.getUserId()), new ArrayList<>());
|
.getCacheObject(CacheConstants.MIGRATION_GT_SALE_BASIC_KEY + initVO.getUserId()), new ArrayList<>());
|
||||||
// 查看gt 在售的商品 这边有多少相似的货号
|
// 查看gt 在售的商品 这边有多少相似的货号
|
||||||
gtSaleBasicList.stream().map(GtProdSkuVO::getArticle_number).distinct()
|
gtSaleBasicList.stream().map(GtProdSkuVO::getArticle_number).distinct()
|
||||||
// 过滤掉需要特殊处理的货号
|
|
||||||
.filter(article_number -> !initVO.getExcludeArtNoList().contains(article_number))
|
|
||||||
.forEach(article_number -> {
|
.forEach(article_number -> {
|
||||||
// 只保留核心连续的数字,去除其他所有符号
|
// 只保留核心连续的数字,去除其他所有符号
|
||||||
String cleanArtNo = this.extractCoreArticleNumber(article_number);
|
String cleanArtNo = this.extractCoreArticleNumber(article_number);
|
||||||
List<String> existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>();
|
if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) {
|
||||||
existList.add(article_number);
|
List<String> existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>();
|
||||||
multiSaleSameGoMap.put(cleanArtNo, existList);
|
existList.add(article_number);
|
||||||
|
multiSaleSameGoMap.put(cleanArtNo, existList);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
// 查看gt 下架的商品有多少相似的货号
|
// 查看gt 下架的商品有多少相似的货号
|
||||||
List<GtProdSkuVO> gtOffSaleBasicList = ObjectUtils.defaultIfNull(redisCache
|
List<GtProdSkuVO> gtOffSaleBasicList = ObjectUtils.defaultIfNull(redisCache
|
||||||
|
|
@ -245,14 +245,14 @@ public class GtAndTyBizController extends BaseController {
|
||||||
// 查看TY 这边有多少相似的货号
|
// 查看TY 这边有多少相似的货号
|
||||||
List<TyProdImportVO> tyProdList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_KEY + initVO.getUserId());
|
List<TyProdImportVO> tyProdList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_KEY + initVO.getUserId());
|
||||||
tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct()
|
tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct()
|
||||||
// 过滤掉需要特殊处理的货号
|
|
||||||
.filter(artNo -> !initVO.getExcludeArtNoList().contains(artNo))
|
|
||||||
.forEach(artNo -> {
|
.forEach(artNo -> {
|
||||||
// 只保留核心连续的数字,去除其他所有符号
|
// 只保留核心连续的数字,去除其他所有符号
|
||||||
String cleanArtNo = this.extractCoreArticleNumber(artNo);
|
String cleanArtNo = this.extractCoreArticleNumber(artNo);
|
||||||
List<String> existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>();
|
if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) {
|
||||||
existList.add(artNo);
|
List<String> existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>();
|
||||||
multiSameTyMap.put(cleanArtNo, existList);
|
existList.add(artNo);
|
||||||
|
multiSameTyMap.put(cleanArtNo, existList);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
// gt按照货号分组
|
// gt按照货号分组
|
||||||
Map<String, List<GtProdSkuVO>> gtSaleGroupMap = gtSaleBasicList.stream().collect(Collectors.groupingBy(GtProdSkuVO::getArticle_number));
|
Map<String, List<GtProdSkuVO>> 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')")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
||||||
@PostMapping("/init-color")
|
@PostMapping("/init-color")
|
||||||
|
|
@ -340,14 +338,14 @@ public class GtAndTyBizController extends BaseController {
|
||||||
.getCacheObject(CacheConstants.MIGRATION_GT_SALE_BASIC_KEY + initVO.getUserId()), new ArrayList<>());
|
.getCacheObject(CacheConstants.MIGRATION_GT_SALE_BASIC_KEY + initVO.getUserId()), new ArrayList<>());
|
||||||
// 查看gt 在售的商品 这边有多少相似的货号
|
// 查看gt 在售的商品 这边有多少相似的货号
|
||||||
gtSaleBasicList.stream().map(GtProdSkuVO::getArticle_number).distinct()
|
gtSaleBasicList.stream().map(GtProdSkuVO::getArticle_number).distinct()
|
||||||
// 过滤掉需要特殊处理的货号
|
|
||||||
.filter(article_number -> !initVO.getExcludeArtNoList().contains(article_number))
|
|
||||||
.forEach(article_number -> {
|
.forEach(article_number -> {
|
||||||
// 只保留核心连续的数字,去除其他所有符号
|
// 只保留核心连续的数字,去除其他所有符号
|
||||||
String cleanArtNo = this.extractCoreArticleNumber(article_number);
|
String cleanArtNo = this.extractCoreArticleNumber(article_number);
|
||||||
List<String> existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>();
|
if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) {
|
||||||
existList.add(article_number);
|
List<String> existList = multiSaleSameGoMap.containsKey(cleanArtNo) ? multiSaleSameGoMap.get(cleanArtNo) : new ArrayList<>();
|
||||||
multiSaleSameGoMap.put(cleanArtNo, existList);
|
existList.add(article_number);
|
||||||
|
multiSaleSameGoMap.put(cleanArtNo, existList);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 查看gt 下架的商品有多少相似的货号
|
// 查看gt 下架的商品有多少相似的货号
|
||||||
|
|
@ -366,14 +364,14 @@ public class GtAndTyBizController extends BaseController {
|
||||||
// TY按照颜色分类
|
// TY按照颜色分类
|
||||||
Map<String, List<TyProdImportVO>> tyProdGroupMap = tyProdList.stream().collect(Collectors.groupingBy(TyProdImportVO::getProdArtNum));
|
Map<String, List<TyProdImportVO>> tyProdGroupMap = tyProdList.stream().collect(Collectors.groupingBy(TyProdImportVO::getProdArtNum));
|
||||||
tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct()
|
tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct()
|
||||||
// 过滤掉需要特殊处理的货号
|
|
||||||
.filter(artNo -> !initVO.getExcludeArtNoList().contains(artNo))
|
|
||||||
.forEach(artNo -> {
|
.forEach(artNo -> {
|
||||||
// 只保留核心连续的数字,去除其他所有符号
|
// 只保留核心连续的数字,去除其他所有符号
|
||||||
String cleanArtNo = this.extractCoreArticleNumber(artNo);
|
String cleanArtNo = this.extractCoreArticleNumber(artNo);
|
||||||
List<String> existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>();
|
if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) {
|
||||||
existList.add(artNo);
|
List<String> existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>();
|
||||||
multiSameTyMap.put(cleanArtNo, existList);
|
existList.add(artNo);
|
||||||
|
multiSameTyMap.put(cleanArtNo, existList);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
// gt按照货号分组
|
// gt按照货号分组
|
||||||
Map<String, List<GtProdSkuVO>> gtSaleGroupMap = gtSaleBasicList.stream().collect(Collectors.groupingBy(GtProdSkuVO::getArticle_number));
|
Map<String, List<GtProdSkuVO>> gtSaleGroupMap = gtSaleBasicList.stream().collect(Collectors.groupingBy(GtProdSkuVO::getArticle_number));
|
||||||
|
|
@ -420,6 +418,9 @@ public class GtAndTyBizController extends BaseController {
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* step4
|
||||||
|
*/
|
||||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
||||||
@PostMapping("/init-cus-disc")
|
@PostMapping("/init-cus-disc")
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
@ -436,14 +437,14 @@ public class GtAndTyBizController extends BaseController {
|
||||||
// 查看TY 这边有多少相似的货号
|
// 查看TY 这边有多少相似的货号
|
||||||
List<TyProdImportVO> tyProdList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_KEY + initVO.getUserId());
|
List<TyProdImportVO> tyProdList = redisCache.getCacheObject(CacheConstants.MIGRATION_TY_PROD_KEY + initVO.getUserId());
|
||||||
tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct()
|
tyProdList.stream().map(TyProdImportVO::getProdArtNum).distinct()
|
||||||
// 过滤掉需要特殊处理的货号
|
|
||||||
.filter(artNo -> !initVO.getExcludeArtNoList().contains(artNo))
|
|
||||||
.forEach(artNo -> {
|
.forEach(artNo -> {
|
||||||
// 只保留核心连续的数字,去除其他所有符号
|
// 只保留核心连续的数字,去除其他所有符号
|
||||||
String cleanArtNo = this.extractCoreArticleNumber(artNo);
|
String cleanArtNo = this.extractCoreArticleNumber(artNo);
|
||||||
List<String> existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>();
|
if (CollectionUtils.isEmpty(initVO.getExcludeArtNoList()) || !initVO.getExcludeArtNoList().contains(cleanArtNo)) {
|
||||||
existList.add(artNo);
|
List<String> existList = multiSameTyMap.containsKey(cleanArtNo) ? multiSameTyMap.get(cleanArtNo) : new ArrayList<>();
|
||||||
multiSameTyMap.put(cleanArtNo, existList);
|
existList.add(artNo);
|
||||||
|
multiSameTyMap.put(cleanArtNo, existList);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 从redis中获取已存在的客户优惠数据
|
// 从redis中获取已存在的客户优惠数据
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,8 @@ public class TyController extends BaseController {
|
||||||
String colorName = x.getColorName().trim();
|
String colorName = x.getColorName().trim();
|
||||||
String tySnPrefix = x.getTySnPrefix().trim();
|
String tySnPrefix = x.getTySnPrefix().trim();
|
||||||
// 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里”
|
// 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里”
|
||||||
if (prodArtNum.contains("-R")) {
|
if (prodArtNum.contains("R")) {
|
||||||
colorName = colorName.contains("绒里") ? colorName : (colorName + "绒里");
|
colorName = colorName.contains("绒") ? colorName : (colorName + "绒里");
|
||||||
}
|
}
|
||||||
return x.setProdArtNum(prodArtNum).setColorName(colorName).setTySnPrefix(tySnPrefix);
|
return x.setProdArtNum(prodArtNum).setColorName(colorName).setTySnPrefix(tySnPrefix);
|
||||||
})
|
})
|
||||||
|
|
@ -124,8 +124,8 @@ public class TyController extends BaseController {
|
||||||
String prodArtNum = x.getProdArtNum().trim();
|
String prodArtNum = x.getProdArtNum().trim();
|
||||||
String colorName = x.getColorName().trim();
|
String colorName = x.getColorName().trim();
|
||||||
// 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里”
|
// 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里”
|
||||||
if (prodArtNum.contains("-R")) {
|
if (prodArtNum.contains("R")) {
|
||||||
colorName = colorName.contains("绒里") ? colorName : (colorName + "绒里");
|
colorName = colorName.contains("绒") ? colorName : (colorName + "绒里");
|
||||||
}
|
}
|
||||||
x.setProdArtNum(prodArtNum).setColorName(colorName).setCusName(cusName).setDiscount(discount);
|
x.setProdArtNum(prodArtNum).setColorName(colorName).setCusName(cusName).setDiscount(discount);
|
||||||
importCusDiscMap.put(x.getProdArtNum() + ":" + x.getColorName(), x);
|
importCusDiscMap.put(x.getProdArtNum() + ":" + x.getColorName(), x);
|
||||||
|
|
@ -156,9 +156,9 @@ public class TyController extends BaseController {
|
||||||
tyStockList.forEach(x -> {
|
tyStockList.forEach(x -> {
|
||||||
String prodArtNum = x.getProdArtNum().trim();
|
String prodArtNum = x.getProdArtNum().trim();
|
||||||
String colorName = x.getColorName().trim();
|
String colorName = x.getColorName().trim();
|
||||||
// 如果货号包括-R 则表明是 货号为绒里,手动给颜色添加后缀“绒里”
|
// 如果货号包括R 则表明是 货号为绒里,手动给颜色添加后缀“绒里”
|
||||||
if (prodArtNum.contains("-R")) {
|
if (prodArtNum.contains("R")) {
|
||||||
colorName = colorName.contains("绒里") ? colorName : (colorName + "绒里");
|
colorName = colorName.contains("绒") ? colorName : (colorName + "绒里");
|
||||||
}
|
}
|
||||||
if (importStockMap.containsKey(prodArtNum + ":" + colorName)) {
|
if (importStockMap.containsKey(prodArtNum + ":" + colorName)) {
|
||||||
System.err.println(prodArtNum + ":" + colorName);
|
System.err.println(prodArtNum + ":" + colorName);
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,8 @@ public class StoreProductServiceImpl implements IStoreProductService {
|
||||||
StoreProductService storeProductSvc = this.storeProdSvcMapper.selectByStoreProdId(storeProdId);
|
StoreProductService storeProductSvc = this.storeProdSvcMapper.selectByStoreProdId(storeProdId);
|
||||||
// 档口生产工艺信息
|
// 档口生产工艺信息
|
||||||
StoreProductProcess prodProcess = this.storeProdProcMapper.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))
|
.setColorList(colorList).setSizeList(sizeList).setCateAttr(BeanUtil.toBean(cateAttr, StoreProdCateAttrDTO.class))
|
||||||
.setSvc(BeanUtil.toBean(storeProductSvc, StoreProdSvcDTO.class)).setProcess(BeanUtil.toBean(prodProcess, StoreProdProcessDTO.class));
|
.setSvc(BeanUtil.toBean(storeProductSvc, StoreProdSvcDTO.class)).setProcess(BeanUtil.toBean(prodProcess, StoreProdProcessDTO.class));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue