fix:【MALL】修复 addBrokerage 创建分销记录时,每个订单项,生成分销记录
This commit is contained in:
@@ -20,6 +20,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
|
||||
@@ -101,13 +102,17 @@ public class TradeBrokerageOrderHandler implements TradeOrderHandler {
|
||||
protected void addBrokerage(Long userId, List<TradeOrderItemDO> orderItems) {
|
||||
MemberUserRespDTO user = memberUserApi.getUser(userId);
|
||||
Assert.notNull(user);
|
||||
ProductSpuRespDTO spu = productSpuApi.getSpu(orderItems.get(0).getSpuId());
|
||||
Assert.notNull(spu);
|
||||
ProductSkuRespDTO sku = productSkuApi.getSku(orderItems.get(0).getSkuId());
|
||||
Map<Long, ProductSpuRespDTO> spusMap = productSpuApi.getSpuMap(convertList(orderItems, TradeOrderItemDO::getSpuId));
|
||||
Map<Long, ProductSkuRespDTO> skusMap = productSkuApi.getSkuMap(convertList(orderItems, TradeOrderItemDO::getSkuId));
|
||||
|
||||
// 每一个订单项,都会去生成分销记录
|
||||
List<BrokerageAddReqBO> addList = convertList(orderItems,
|
||||
item -> TradeOrderConvert.INSTANCE.convert(user, item, spu, sku));
|
||||
List<BrokerageAddReqBO> addList = convertList(orderItems, item -> {
|
||||
ProductSpuRespDTO spu = spusMap.get(item.getSpuId());
|
||||
Assert.notNull(spu);
|
||||
ProductSkuRespDTO sku = skusMap.get(item.getSkuId());
|
||||
Assert.notNull(sku);
|
||||
return TradeOrderConvert.INSTANCE.convert(user, item, spu, sku);
|
||||
});
|
||||
brokerageRecordService.addBrokerage(userId, BrokerageRecordBizTypeEnum.ORDER, addList);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user