|
@ -15,6 +15,7 @@ import com.qs.serve.modules.bms.mapper.BmsRegionMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.goods.entity.*; |
|
|
import com.qs.serve.modules.goods.entity.*; |
|
|
import com.qs.serve.modules.goods.entity.bo.GoodsRuleBo; |
|
|
import com.qs.serve.modules.goods.entity.bo.GoodsRuleBo; |
|
|
|
|
|
import com.qs.serve.modules.goods.entity.bo.GoodsRuleImportBo; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsRuleBaseDTO; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsRuleBaseDTO; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsRuleItemDTO; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsRuleItemDTO; |
|
|
import com.qs.serve.modules.goods.entity.vo.GoodsRuleVo; |
|
|
import com.qs.serve.modules.goods.entity.vo.GoodsRuleVo; |
|
@ -57,6 +58,93 @@ public class GoodsRuleServiceImpl extends ServiceImpl<GoodsRuleMapper,GoodsRule> |
|
|
private GoodsSkuMapper skuMapper; |
|
|
private GoodsSkuMapper skuMapper; |
|
|
private GoodsCategoryMapper goodsCategoryMapper; |
|
|
private GoodsCategoryMapper goodsCategoryMapper; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public GoodsRuleBo tranGoodsRuleBo(GoodsRuleImportBo ruleImportBo) { |
|
|
|
|
|
GoodsRuleBo goodsRuleBo = new GoodsRuleBo(); |
|
|
|
|
|
boolean checkOkFlag = true; |
|
|
|
|
|
if(CollUtil.isNotEmpty(ruleImportBo.getOnlyCategoryCodes())){ |
|
|
|
|
|
List<GoodsCategory> categoryList = categoryMapper |
|
|
|
|
|
.selectList(new LambdaQueryWrapper<GoodsCategory>() |
|
|
|
|
|
.in(GoodsCategory::getCode,ruleImportBo.getOnlyCategoryCodes())); |
|
|
|
|
|
for (String code : ruleImportBo.getOnlyCategoryCodes()) { |
|
|
|
|
|
boolean mch = categoryList.stream().anyMatch(a->a.getCode().equals(code)); |
|
|
|
|
|
if(!mch){ |
|
|
|
|
|
checkOkFlag = false; |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
errCodes.add(code); |
|
|
|
|
|
if(ruleImportBo.getErrOnlyCategoryCodes()!=null){ |
|
|
|
|
|
errCodes.addAll(ruleImportBo.getErrNotInCategoryCodes()); |
|
|
|
|
|
} |
|
|
|
|
|
ruleImportBo.setErrOnlyCategoryCodes(errCodes); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<String> ids = categoryList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); |
|
|
|
|
|
goodsRuleBo.setOnlyCategoryIds(ids); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(ruleImportBo.getNotInCategoryCodes())){ |
|
|
|
|
|
List<GoodsCategory> categoryList = categoryMapper |
|
|
|
|
|
.selectList(new LambdaQueryWrapper<GoodsCategory>() |
|
|
|
|
|
.in(GoodsCategory::getCode,ruleImportBo.getNotInCategoryCodes())); |
|
|
|
|
|
for (String code : ruleImportBo.getNotInCategoryCodes()) { |
|
|
|
|
|
boolean mch = categoryList.stream().anyMatch(a->a.getCode().equals(code)); |
|
|
|
|
|
if(!mch){ |
|
|
|
|
|
checkOkFlag = false; |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
errCodes.add(code); |
|
|
|
|
|
if(ruleImportBo.getErrNotInCategoryCodes()!=null){ |
|
|
|
|
|
errCodes.addAll(ruleImportBo.getErrNotInCategoryCodes()); |
|
|
|
|
|
} |
|
|
|
|
|
ruleImportBo.setErrNotInCategoryCodes(errCodes); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<String> ids = categoryList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); |
|
|
|
|
|
goodsRuleBo.setNotInCategoryIds(ids); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(ruleImportBo.getOnlySpuCodes())){ |
|
|
|
|
|
List<GoodsSpu> spuList = spuMapper |
|
|
|
|
|
.selectList(new LambdaQueryWrapper<GoodsSpu>() |
|
|
|
|
|
.in(GoodsSpu::getSpuCode,ruleImportBo.getOnlySpuCodes())); |
|
|
|
|
|
for (String code : ruleImportBo.getOnlySpuCodes()) { |
|
|
|
|
|
boolean mch = spuList.stream().anyMatch(a->a.getSpuCode().equals(code)); |
|
|
|
|
|
if(!mch){ |
|
|
|
|
|
checkOkFlag = false; |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
errCodes.add(code); |
|
|
|
|
|
if(ruleImportBo.getErrOnlySpuCodes()!=null){ |
|
|
|
|
|
errCodes.addAll(ruleImportBo.getErrOnlySpuCodes()); |
|
|
|
|
|
} |
|
|
|
|
|
ruleImportBo.setErrOnlySpuCodes(errCodes); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<String> ids = spuList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); |
|
|
|
|
|
goodsRuleBo.setOnlySpuIds(ids); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(ruleImportBo.getNotInSpuCodes())){ |
|
|
|
|
|
List<GoodsSpu> spuList = spuMapper |
|
|
|
|
|
.selectList(new LambdaQueryWrapper<GoodsSpu>() |
|
|
|
|
|
.in(GoodsSpu::getSpuCode,ruleImportBo.getNotInSpuCodes())); |
|
|
|
|
|
for (String code : ruleImportBo.getNotInSpuCodes()) { |
|
|
|
|
|
boolean mch = spuList.stream().anyMatch(a->a.getSpuCode().equals(code)); |
|
|
|
|
|
if(!mch){ |
|
|
|
|
|
checkOkFlag = false; |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
errCodes.add(code); |
|
|
|
|
|
if(ruleImportBo.getErrOnlySpuCodes()!=null){ |
|
|
|
|
|
errCodes.addAll(ruleImportBo.getErrNotInSpuCodes()); |
|
|
|
|
|
} |
|
|
|
|
|
ruleImportBo.setErrNotInSpuCodes(errCodes); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<String> ids = spuList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); |
|
|
|
|
|
goodsRuleBo.setNotInSpuIds(ids); |
|
|
|
|
|
} |
|
|
|
|
|
ruleImportBo.setCheckOkFlag(checkOkFlag); |
|
|
|
|
|
return goodsRuleBo; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void modify(GoodsRuleBo param) { |
|
|
public void modify(GoodsRuleBo param) { |
|
|