|
@@ -480,8 +480,8 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
Map<Integer, Long> goodsNumMap = sellOrders.stream().filter(so -> Objects.nonNull(so.getParentGoodsId())).collect(Collectors.groupingBy(SellOrder::getParentGoodsId, Collectors.counting()));
|
|
|
for (Map.Entry<Integer, Long> goodsIdNumMapEntry : goodsNumMap.entrySet()) {
|
|
|
Goods goods = idGoodsMap.get(goodsIdNumMapEntry.getKey());
|
|
|
- int goodSize = (int) sellOrders.stream().filter(so -> goodsIdNumMapEntry.getKey().equals(so.getParentGoodsId())).count();
|
|
|
- int sellNum = (int) (goodSize/goodsIdNumMapEntry.getValue());
|
|
|
+ int childGoodsNum = sellOrders.stream().filter(so -> goodsIdNumMapEntry.getKey().equals(so.getParentGoodsId())).map(SellOrder::getGoodsId).collect(Collectors.toSet()).size();
|
|
|
+ int sellNum = (int) (goodsIdNumMapEntry.getValue()/childGoodsNum);
|
|
|
goods.setSellCount(new AtomicInteger(goods.getSellCount()).addAndGet(-sellNum));
|
|
|
goodsDao.update(goods);
|
|
|
}
|