promotion:修复拼团下单时,相关字段记录不正确的情况。

This commit is contained in:
YunaiV
2023-10-07 07:09:15 +08:00
parent c8f1269d6e
commit c7b5df930e
7 changed files with 21 additions and 9 deletions

View File

@@ -207,12 +207,16 @@ public interface TradeOrderConvert {
default TradePriceCalculateReqBO convert(Long userId, AppTradeOrderSettlementReqVO settlementReqVO,
List<CartDO> cartList) {
TradePriceCalculateReqBO reqBO = new TradePriceCalculateReqBO().setUserId(userId)
.setItems(new ArrayList<>(settlementReqVO.getItems().size()))
.setCouponId(settlementReqVO.getCouponId()).setPointStatus(settlementReqVO.getPointStatus())
// 物流信息
.setDeliveryType(settlementReqVO.getDeliveryType()).setAddressId(settlementReqVO.getAddressId())
.setPickUpStoreId(settlementReqVO.getPickUpStoreId())
.setItems(new ArrayList<>(settlementReqVO.getItems().size()))
// 各种活动
.setSeckillActivityId(settlementReqVO.getSeckillActivityId())
.setBargainRecordId(settlementReqVO.getBargainRecordId());
.setBargainRecordId(settlementReqVO.getBargainRecordId())
.setCombinationActivityId(settlementReqVO.getCombinationActivityId())
.setCombinationHeadId(settlementReqVO.getCombinationHeadId());
// 商品项的构建
Map<Long, CartDO> cartMap = convertMap(cartList, CartDO::getId);
for (AppTradeOrderSettlementReqVO.Item item : settlementReqVO.getItems()) {

View File

@@ -318,10 +318,16 @@ public class TradeOrderDO extends BaseDO {
*/
private Long combinationActivityId;
/**
* 团长编号
* 拼团团长编号
*
* 关联 CombinationRecordDO 的 headId 字段
*/
private Long combinationHeadId;
/**
* 拼团记录编号
*
* 关联 CombinationRecordDO 的 id 字段
*/
private Long combinationHeadId;
private Long combinationRecordId;
}

View File

@@ -47,7 +47,8 @@ public class TradeCombinationHandler implements TradeOrderHandler {
// 获取商品信息
TradeOrderItemDO item = orderItems.get(0);
// 创建砍价记录
// 创建拼团记录
// TODO puhui这里应该先不创建等支付好才去创建另外创建好后需要更新编号到订单
combinationRecordApi.createCombinationRecord(TradeOrderConvert.INSTANCE.convert(order, item));
}

View File

@@ -31,7 +31,6 @@ public class TradeCombinationActivityPriceCalculator implements TradePriceCalcul
if (param.getCombinationActivityId() == null) {
return;
}
Assert.isTrue(param.getItems().size() == 1, "拼团时,只允许选择一个商品");
// 2. 校验是否可以参与拼团
TradePriceCalculateRespBO.OrderItem orderItem = result.getItems().get(0);