修复取消订单商品时库存更新问题
This commit is contained in:
parent
27ad9b0599
commit
c4d879a0ad
@ -358,6 +358,7 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
|
|||||||
skuKeys.add(GoodsSkuService.getStockCacheKey(orderItem.getSkuId()));
|
skuKeys.add(GoodsSkuService.getStockCacheKey(orderItem.getSkuId()));
|
||||||
GoodsSku goodsSku = new GoodsSku();
|
GoodsSku goodsSku = new GoodsSku();
|
||||||
goodsSku.setId(orderItem.getSkuId());
|
goodsSku.setId(orderItem.getSkuId());
|
||||||
|
goodsSku.setGoodsId(orderItem.getGoodsId());
|
||||||
goodsSkus.add(goodsSku);
|
goodsSkus.add(goodsSku);
|
||||||
}
|
}
|
||||||
//批量获取商品库存
|
//批量获取商品库存
|
||||||
|
@ -506,18 +506,14 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> i
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateGoodsStuck(List<GoodsSku> goodsSkus) {
|
public void updateGoodsStuck(List<GoodsSku> goodsSkus) {
|
||||||
//商品id集合 hashset 去重复
|
Map<String, List<GoodsSku>> groupByGoodsIds = goodsSkus.stream().collect(Collectors.groupingBy(GoodsSku::getGoodsId));
|
||||||
Set<String> goodsIds = new HashSet<>();
|
|
||||||
for (GoodsSku sku : goodsSkus) {
|
|
||||||
goodsIds.add(sku.getGoodsId());
|
|
||||||
}
|
|
||||||
//获取相关的sku集合
|
//获取相关的sku集合
|
||||||
LambdaQueryWrapper<GoodsSku> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<GoodsSku> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.in(GoodsSku::getGoodsId, goodsIds);
|
lambdaQueryWrapper.in(GoodsSku::getGoodsId, groupByGoodsIds.keySet());
|
||||||
List<GoodsSku> goodsSkuList = this.list(lambdaQueryWrapper);
|
List<GoodsSku> goodsSkuList = this.list(lambdaQueryWrapper);
|
||||||
|
|
||||||
//统计每个商品的库存
|
//统计每个商品的库存
|
||||||
for (String goodsId : goodsIds) {
|
for (String goodsId : groupByGoodsIds.keySet()) {
|
||||||
//库存
|
//库存
|
||||||
Integer quantity = 0;
|
Integer quantity = 0;
|
||||||
for (GoodsSku goodsSku : goodsSkuList) {
|
for (GoodsSku goodsSku : goodsSkuList) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user