Browse Source

商品导入功能修复

v1.0
Yen 2 years ago
parent
commit
1fc15232cf
  1. 90
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java
  2. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  3. 4
      src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java

90
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java

@ -230,45 +230,49 @@ public class GoodsSkuController {
Map<String,List<GoodsSkuImportBo.SkuItem>> skuItemList = param.getSkuList().stream().collect(Collectors.groupingBy(GoodsSkuImportBo.SkuItem::getOpt));
//处理删除
List<GoodsSkuImportBo.SkuItem> delList = skuItemList.get(DELETE);
List<String> delSkuCodes = delList.stream().map(GoodsSkuImportBo.SkuItem::getSkuCode).collect(Collectors.toList());
QueryWrapper lqw1 = new QueryWrapper<>();
lqw1.eq("target_type", TbsGoodsType.sku.name());
lqw1.eq("target_code",delSkuCodes);
lqw1.select("target_code");
List<TbsActivityGoods> activityGoodsList = activityGoodsService.list(lqw1);
List<TbsBudgetCondition> budgetConditionList = budgetConditionService.list(lqw1);
List<SalePlanGoods> salePlanGoodsList = salePlanGoodsService.list(lqw1);
for (TbsActivityGoods item : activityGoodsList) {
for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) {
if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){
skuItem.setErrMsg(skuItem.getErrMsg()==null?"活动含有当前商品,删除失败;":skuItem.getErrMsg()+"\n活动含有当前商品,删除失败;");
if(delList!=null){
List<String> delSkuCodes = delList.stream().map(GoodsSkuImportBo.SkuItem::getSkuCode).collect(Collectors.toList());
QueryWrapper lqw1 = new QueryWrapper<>();
lqw1.eq("target_type", TbsGoodsType.sku.name());
lqw1.eq("target_code",delSkuCodes);
lqw1.select("target_code");
List<TbsActivityGoods> activityGoodsList = activityGoodsService.list(lqw1);
List<TbsBudgetCondition> budgetConditionList = budgetConditionService.list(lqw1);
List<SalePlanGoods> salePlanGoodsList = salePlanGoodsService.list(lqw1);
for (TbsActivityGoods item : activityGoodsList) {
for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) {
if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){
skuItem.setErrMsg(skuItem.getErrMsg()==null?"活动含有当前商品,删除失败;":skuItem.getErrMsg()+"\n活动含有当前商品,删除失败;");
}
}
}
}
for (TbsBudgetCondition item : budgetConditionList) {
for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) {
if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){
skuItem.setErrMsg(skuItem.getErrMsg()==null?"预算含有当前商品,删除失败;":skuItem.getErrMsg()+"\n预算含有当前商品,删除失败;");
for (TbsBudgetCondition item : budgetConditionList) {
for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) {
if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){
skuItem.setErrMsg(skuItem.getErrMsg()==null?"预算含有当前商品,删除失败;":skuItem.getErrMsg()+"\n预算含有当前商品,删除失败;");
}
}
}
}
for (SalePlanGoods item : salePlanGoodsList) {
for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) {
if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){
skuItem.setErrMsg(skuItem.getErrMsg()==null?"销售计划含有当前商品,删除失败;":skuItem.getErrMsg()+"\n销售计划含有当前商品,删除失败;");
for (SalePlanGoods item : salePlanGoodsList) {
for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) {
if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){
skuItem.setErrMsg(skuItem.getErrMsg()==null?"销售计划含有当前商品,删除失败;":skuItem.getErrMsg()+"\n销售计划含有当前商品,删除失败;");
}
}
}
//执行删除
List<String> skuCodeToDelList = param.getSkuList().stream()
.filter(a->a.getErrMsg()==null)
.map(GoodsSkuImportBo.SkuItem::getSkuCode)
.collect(Collectors.toList());
if(skuCodeToDelList.size()>0){
LambdaQueryWrapper<GoodsSku> delLqw = new LambdaQueryWrapper<>();
delLqw.in(GoodsSku::getSkuCode,skuCodeToDelList);
goodsSkuService.remove(delLqw);
}
}
//执行删除
List<String> skuCodeToDelList = param.getSkuList().stream()
.filter(a->a.getErrMsg()==null)
.map(GoodsSkuImportBo.SkuItem::getSkuCode)
.collect(Collectors.toList());
if(skuCodeToDelList.size()>0){
LambdaQueryWrapper<GoodsSku> delLqw = new LambdaQueryWrapper<>();
delLqw.in(GoodsSku::getSkuCode,skuCodeToDelList);
goodsSkuService.remove(delLqw);
}
//处理更新和新增
List<String> skuCodes = param.getSkuList().stream().map(GoodsSkuImportBo.SkuItem::getSkuCode).distinct().collect(Collectors.toList());
@ -337,18 +341,28 @@ public class GoodsSkuController {
}
private GoodsSku selectSku( List<GoodsSku> skuList, String skuCode){
for (GoodsSku goodsSku : skuList) {
if(goodsSku.getSkuCode().equals(skuCode)){
return goodsSku;
if(skuCode!=null){
for (GoodsSku goodsSku : skuList) {
if(goodsSku.getSkuCode()==null){
continue;
}
if(goodsSku.getSkuCode().equals(skuCode)){
return goodsSku;
}
}
}
return null;
}
private GoodsSpu selectSpu( List<GoodsSpu> spuList, String skuCode){
for (GoodsSpu goodsSpu : spuList) {
if(goodsSpu.getSkuCode().equals(skuCode)){
return goodsSpu;
if(skuCode!=null){
for (GoodsSpu goodsSpu : spuList) {
if(goodsSpu.getSkuCode()==null){
continue;
}
if(goodsSpu.getSkuCode().equals(skuCode)){
return goodsSpu;
}
}
}
return null;

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -416,7 +416,7 @@ public class GoodsSpuController {
}
if(isError){
return R.error("数据异常",param);
return R.ok(param);
}
List<Long> rmIds = new ArrayList<>();

4
src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java

@ -36,8 +36,10 @@ public class GoodsSkuExportVo implements Serializable {
private String skuName;
private String name;
/** spu编码 */
private Long spuCode;
private String spuCode;
/** 销售价格 */
private BigDecimal salesPrice;

Loading…
Cancel
Save