diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/externalorder/ExternalOrderEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/externalorder/ExternalOrderEventHandler.java index 3d015ad..8fdd076 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/externalorder/ExternalOrderEventHandler.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/externalorder/ExternalOrderEventHandler.java @@ -1,10 +1,12 @@ package com.qniao.dam.application.handler.externalorder; import com.qniao.dam.application.service.paymentorderrefund.PaymentOrderRefundApplicationService; +import com.qniao.dam.domain.aggregate.externalorder.ExternalOrderRelAggregate; import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel; import com.qniao.dam.domain.aggregate.paymentchannelorder.entity.PaymentChannelOrder; import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder; import com.qniao.dam.domain.aggregate.paymentorderrefund.entity.PaymentOrderRefund; +import com.qniao.dam.domian.aggregate.externalorder.constant.ExternalOrderRelStatus; import com.qniao.dam.domian.aggregate.externalorder.constant.ExternalOrderTypeEnum; import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEnum; import com.qniao.dam.infrastructure.constant.MqExchange; @@ -40,6 +42,8 @@ public class ExternalOrderEventHandler extends BaseApplicationService { private PaymentChannelOrderQueryService paymentChannelOrderQueryService; @Resource private PaymentOrderRefundApplicationService paymentOrderRefundApplicationService; + @Resource + private ExternalOrderRelAggregate externalOrderRelAggregate; @RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.CANCEL_SITE_ACTIVITY), exchange = @Exchange(value = MqExchange.CANCEL_SITE_ACTIVITY, @@ -49,6 +53,8 @@ public class ExternalOrderEventHandler extends BaseApplicationService { log.error("接收到线下活动订单取消事件:{}", event); ExternalOrderRel externalOrderRel = externalOrderRelDao.queryCompletedBy(event.getExternalId(), event.getUserId(), ExternalOrderTypeEnum.SITE_ACTIVITY); if (Objects.nonNull(externalOrderRel)) { + externalOrderRel.setStatus(ExternalOrderRelStatus.CANCELED); + externalOrderRelAggregate.save(externalOrderRel); List paymentOrderRefundList = new ArrayList<>(); List paymentOrderList = paymentOrderQueryService.listByOrderId(Collections.singletonList(externalOrderRel.getOrderId()), PaymentOrderStatusEnum.PAID); for (PaymentOrder paymentOrder : paymentOrderList) {