|
|
@@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 店铺商品Service业务层处理
|
|
|
@@ -74,24 +75,31 @@ public class MerchantProdVoServiceImpl implements IMerchantProdVoService {
|
|
|
String[] prodAttrIds = Convert.toStrArray(merchantProdVo.getProdAttrIds());
|
|
|
MerchantProd cond = new MerchantProd();
|
|
|
cond.setMercId(merchantProdVo.getMercId());
|
|
|
- List<MerchantProdVo> checkResult = merchantProdVoMapper.selectMerchantProdVoByMercId(merchantProdVo.getMercId());
|
|
|
- if (checkResult.size() > 0) {
|
|
|
- int effectRows = merchantProdVoMapper.logicDeleteMerchantProdByCondition(cond);
|
|
|
- if (effectRows == 0) {
|
|
|
- throw new BusinessException("删除失败,请重试!");
|
|
|
- }
|
|
|
- }
|
|
|
+// List<MerchantProdVo> checkResult = merchantProdVoMapper.selectMerchantProdVoByMercId(merchantProdVo.getMercId());
|
|
|
+// if (checkResult.size() > 0) {
|
|
|
+// int effectRows = merchantProdVoMapper.logicDeleteMerchantProdByCondition(cond);
|
|
|
+// if (effectRows == 0) {
|
|
|
+// throw new BusinessException("删除失败,请重试!");
|
|
|
+// }
|
|
|
+// }
|
|
|
int effectRows = 0;
|
|
|
List<MerchantProd> batchInsertList = new ArrayList<>();
|
|
|
+
|
|
|
+ List<MerchantProdVo> checkResult = merchantProdVoMapper.selectMerchantProdVoByMercId(merchantProdVo.getMercId());
|
|
|
+
|
|
|
+ List<Long> mercProdAttrIds = checkResult.stream().map(MerchantProdVo::getProdAttrId).collect(Collectors.toList());
|
|
|
+
|
|
|
for (String prodAttrId : prodAttrIds) {
|
|
|
- MerchantProd merchantProd = new MerchantProd();
|
|
|
- merchantProd.setMercId(merchantProdVo.getMercId());
|
|
|
- merchantProd.setProdAttrId(Long.parseLong(prodAttrId));
|
|
|
- merchantProd.setShelfFlag(EShelfFlag.NO.getVal());
|
|
|
- merchantProd.setDelFlag(EDelFlag.NO.getVal());
|
|
|
- merchantProd.setCreateUser(ShiroUtils.getLoginName());
|
|
|
- merchantProd.setCreateTime(DateUtils.getNowDate());
|
|
|
- batchInsertList.add(merchantProd);
|
|
|
+ if (!mercProdAttrIds.contains(Long.parseLong(prodAttrId))) {
|
|
|
+ MerchantProd merchantProd = new MerchantProd();
|
|
|
+ merchantProd.setMercId(merchantProdVo.getMercId());
|
|
|
+ merchantProd.setProdAttrId(Long.parseLong(prodAttrId));
|
|
|
+ merchantProd.setShelfFlag(EShelfFlag.NO.getVal());
|
|
|
+ merchantProd.setDelFlag(EDelFlag.NO.getVal());
|
|
|
+ merchantProd.setCreateUser(ShiroUtils.getLoginName());
|
|
|
+ merchantProd.setCreateTime(DateUtils.getNowDate());
|
|
|
+ batchInsertList.add(merchantProd);
|
|
|
+ }
|
|
|
}
|
|
|
effectRows += merchantProdVoMapper.batchInsertMerchantProd(batchInsertList);
|
|
|
return effectRows;
|