|
@@ -222,8 +222,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
Integer stock = productList.stream().map(PmsProductDto::getStock).min(Integer::compareTo).get();
|
|
|
goods.setStockCount(stock);
|
|
|
goods.setSellCount(0);
|
|
|
- Goods goodsRecord = new Goods();
|
|
|
- BeanUtils.copyProperties(goods,goodsRecord);
|
|
|
+ Goods goodsRecord = JSON.parseObject(JSON.toJSONString(goods), Goods.class);
|
|
|
goodsRecord.setStatus(YesOrNoEnum.NO);
|
|
|
BigDecimal organCostPrice = goodsSubList.stream().map(GoodsWrapper.GoodsSub::getGoodsPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
goodsRecord.setOrganCostPrice(organCostPrice);
|
|
@@ -343,6 +342,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
next.setGoodsStatus(dto.getPublishStatus() == 1);
|
|
|
}
|
|
|
next.setMallGoodsName(dto.getName());
|
|
|
+ next.setProductSn(dto.getProductSn());
|
|
|
}
|
|
|
});
|
|
|
return goodsSubList;
|
|
@@ -1149,9 +1149,9 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
if (CollectionUtils.isEmpty(goodsSubs)) {
|
|
|
return true;
|
|
|
}
|
|
|
- Map<Integer, Boolean> keyStatusMap = goodsSubModelList.stream().collect(Collectors.toMap(GoodsSubModel::getMallGoodsId, GoodsSubModel::getGoodsStatus));
|
|
|
+ Map<String, Boolean> keyStatusMap = goodsSubModelList.stream().collect(Collectors.toMap(next -> next.getMallGoodsId() + "_" + next.getSkuId(), GoodsSubModel::getGoodsStatus));
|
|
|
log.info(Thread.currentThread().getName() + "开始同步商品状态:0/" + goodsSubs.size());
|
|
|
- List<GoodsSub> goodsSubList = goodsSubs.stream().peek(next -> next.setGoodsStatus(keyStatusMap.get(next.getMallGoodsId()))).collect(Collectors.toList());
|
|
|
+ List<GoodsSub> goodsSubList = goodsSubs.stream().peek(next -> next.setGoodsStatus(keyStatusMap.get(next.getMallGoodsId() + "_" + next.getSku()))).collect(Collectors.toList());
|
|
|
// 下架的商品
|
|
|
List<GoodsSub> downGoods = goodsSubList.stream().filter(next -> Boolean.FALSE.equals(next.getGoodsStatus())).collect(Collectors.toList());
|
|
|
if(!CollectionUtils.isEmpty(downGoods)){
|