|
@@ -43,17 +43,6 @@ public class TradeCombinationOrderHandler implements TradeOrderHandler {
|
|
|
}
|
|
|
Assert.isTrue(orderItems.size() == 1, "拼团时,只允许选择一个商品");
|
|
|
|
|
|
- // 1. 校验是否满足拼团活动相关限制
|
|
|
- TradeOrderItemDO item = orderItems.get(0);
|
|
|
- combinationRecordApi.validateCombinationRecord(order.getUserId(), order.getCombinationActivityId(),
|
|
|
- order.getCombinationHeadId(), item.getSkuId(), item.getCount());
|
|
|
-
|
|
|
- // 2. 校验该用户是否存在未支付的拼团活动订单,避免一个拼团可以下多个单子了
|
|
|
- TradeOrderDO activityOrder = orderQueryService.getOrderByUserIdAndStatusAndCombination(
|
|
|
- order.getUserId(), order.getCombinationActivityId(), TradeOrderStatusEnum.UNPAID.getStatus());
|
|
|
- if (activityOrder != null) {
|
|
|
- throw exception(ORDER_CREATE_FAIL_EXIST_UNPAID);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -71,7 +60,7 @@ public class TradeCombinationOrderHandler implements TradeOrderHandler {
|
|
|
|
|
|
// 3. 更新拼团相关信息到订单。为什么几个字段都要更新?
|
|
|
// 原因是:如果创建订单时自己是团长的情况下 combinationHeadId 是为 null 的,设置团长编号这个操作时在订单是否后创建拼团记录时才设置的。
|
|
|
- orderUpdateService.updateOrderCombinationInfo(order.getId(), order.getCombinationActivityId(),
|
|
|
+ orderUpdateService.updateOrderCombinationInfo(order.getId(), null,
|
|
|
combinationRecord.getCombinationRecordId(), combinationRecord.getCombinationHeadId());
|
|
|
}
|
|
|
|