|
@@ -1,11 +1,11 @@
|
|
|
package cn.iocoder.yudao.module.trade.service.order.handler;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import cn.iocoder.yudao.module.promotion.api.combination.CombinationActivityApi;
|
|
|
import cn.iocoder.yudao.module.promotion.api.combination.CombinationRecordApi;
|
|
|
import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert;
|
|
|
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum;
|
|
|
import cn.iocoder.yudao.module.trade.service.order.bo.TradeAfterOrderCreateReqBO;
|
|
|
+import cn.iocoder.yudao.module.trade.service.order.bo.TradeAfterPayOrderReqBO;
|
|
|
import cn.iocoder.yudao.module.trade.service.order.bo.TradeBeforeOrderCreateReqBO;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
@@ -17,28 +17,25 @@ import javax.annotation.Resource;
|
|
|
* @author HUIHUI
|
|
|
*/
|
|
|
@Component
|
|
|
-public class TradeCombinationHandler implements TradeOrderHandler {
|
|
|
+public class TradeCombinationHandler extends TradeOrderDefaultHandler {
|
|
|
|
|
|
- @Resource
|
|
|
- private CombinationActivityApi combinationActivityApi;
|
|
|
@Resource
|
|
|
private CombinationRecordApi combinationRecordApi;
|
|
|
|
|
|
@Override
|
|
|
public void beforeOrderCreate(TradeBeforeOrderCreateReqBO reqBO) {
|
|
|
- // 如果是拼团订单;
|
|
|
+ // 如果不是拼团订单则结束
|
|
|
if (ObjectUtil.notEqual(TradeOrderTypeEnum.COMBINATION.getType(), reqBO.getOrderType())) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 校验是否满足拼团活动相关限制
|
|
|
- combinationActivityApi.validateCombination(reqBO.getCombinationActivityId(), reqBO.getUserId(), reqBO.getSkuId(), reqBO.getCount());
|
|
|
+ combinationRecordApi.validateCombinationRecord(reqBO.getCombinationActivityId(), reqBO.getUserId(), reqBO.getSkuId(), reqBO.getCount());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void afterOrderCreate(TradeAfterOrderCreateReqBO reqBO) {
|
|
|
- // TODO @puhui999:需要判断下;
|
|
|
- if (true) {
|
|
|
+ if (reqBO.getCombinationActivityId() == null) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -47,8 +44,14 @@ public class TradeCombinationHandler implements TradeOrderHandler {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void rollback() {
|
|
|
+ public void afterPayOrder(TradeAfterPayOrderReqBO reqBO) {
|
|
|
+ // 如果不是拼团订单则结束
|
|
|
+ if (ObjectUtil.notEqual(TradeOrderTypeEnum.COMBINATION.getType(), reqBO.getOrderType())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
+ // 更新拼团状态 TODO puhui999:订单支付失败或订单支付过期删除这条拼团记录
|
|
|
+ combinationRecordApi.updateRecordStatusToInProgress(reqBO.getUserId(), reqBO.getOrderId(), reqBO.getPayTime());
|
|
|
}
|
|
|
|
|
|
}
|