Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
a32c526c79
1 changed files with 19 additions and 26 deletions
  1. 45
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/externalorder/ExternalOrderEventHandler.java

45
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/externalorder/ExternalOrderEventHandler.java

@ -12,10 +12,8 @@ import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEn
import com.qniao.dam.infrastructure.constant.MqExchange;
import com.qniao.dam.infrastructure.constant.MqQueue;
import com.qniao.dam.infrastructure.persistent.dao.domain.ExternalOrderRelDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.SiteActivityDao;
import com.qniao.dam.query.paymentchannelorder.PaymentChannelOrderQueryService;
import com.qniao.dam.query.paymentorder.PaymentOrderQueryService;
import com.qniao.das.domian.aggregate.siteactivity.SiteActivity;
import com.qniao.das.domian.aggregate.siteactivity.event.SiteActivityCancelEvent;
import com.qniao.domain.BaseApplicationService;
import lombok.extern.slf4j.Slf4j;
@ -46,8 +44,6 @@ public class ExternalOrderEventHandler extends BaseApplicationService {
private PaymentOrderRefundApplicationService paymentOrderRefundApplicationService;
@Resource
private ExternalOrderRelAggregate externalOrderRelAggregate;
@Resource
private SiteActivityDao siteActivityDao;
@RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.CANCEL_SITE_ACTIVITY),
exchange = @Exchange(value = MqExchange.CANCEL_SITE_ACTIVITY,
@ -55,30 +51,27 @@ public class ExternalOrderEventHandler extends BaseApplicationService {
public void handleConfirmMeeting(SiteActivityCancelEvent event) {
try {
log.error("接收到线下活动订单取消事件:{}", event);
SiteActivity siteActivity = siteActivityDao.selectById(event.getExternalId());
//社群活动允许退款
if (Objects.nonNull(siteActivity.getActivityType()) && siteActivity.getActivityType() == 1) {
ExternalOrderRel externalOrderRel = externalOrderRelDao.queryCompletedBy(event.getExternalId(), event.getUserId(), ExternalOrderTypeEnum.SITE_ACTIVITY);
if (Objects.nonNull(externalOrderRel)) {
externalOrderRel.setStatus(ExternalOrderRelStatus.CANCELED);
externalOrderRelAggregate.save(externalOrderRel);
List<PaymentOrderRefund> paymentOrderRefundList = new ArrayList<>();
List<PaymentOrder> paymentOrderList = paymentOrderQueryService.listByOrderId(Collections.singletonList(externalOrderRel.getOrderId()), PaymentOrderStatusEnum.PAID);
for (PaymentOrder paymentOrder : paymentOrderList) {
PaymentOrderRefund paymentOrderRefund = new PaymentOrderRefund();
PaymentChannelOrder paymentChannelOrder = paymentChannelOrderQueryService.queryByTxnOrderId(paymentOrder.getId());
paymentOrderRefund.setTradeOrderId(paymentOrder.getOrderId());
paymentOrderRefund.setPaymentOrderId(paymentOrder.getId());
paymentOrderRefund.setPaymentChannelOrder(paymentChannelOrder.getId());
paymentOrderRefund.setPaymentMethod(paymentOrder.getPaymentMethod());
paymentOrderRefund.setTransactionId(paymentChannelOrder.getExtOrderNo());
paymentOrderRefund.setOrderAmount(paymentChannelOrder.getAmount());
paymentOrderRefund.setRefundAmount(paymentChannelOrder.getAmount());
paymentOrderRefundList.add(paymentOrderRefund);
}
//发起微信退款
paymentOrderRefundApplicationService.refund(paymentOrderRefundList);
ExternalOrderRel externalOrderRel = externalOrderRelDao.queryCompletedBy(event.getExternalId(), event.getUserId(), ExternalOrderTypeEnum.SITE_ACTIVITY);
if (Objects.nonNull(externalOrderRel)) {
externalOrderRel.setStatus(ExternalOrderRelStatus.CANCELED);
externalOrderRelAggregate.save(externalOrderRel);
List<PaymentOrderRefund> paymentOrderRefundList = new ArrayList<>();
List<PaymentOrder> paymentOrderList = paymentOrderQueryService.listByOrderId(Collections.singletonList(externalOrderRel.getOrderId()), PaymentOrderStatusEnum.PAID);
for (PaymentOrder paymentOrder : paymentOrderList) {
PaymentOrderRefund paymentOrderRefund = new PaymentOrderRefund();
PaymentChannelOrder paymentChannelOrder = paymentChannelOrderQueryService.queryByTxnOrderId(paymentOrder.getId());
paymentOrderRefund.setTradeOrderId(paymentOrder.getOrderId());
paymentOrderRefund.setPaymentOrderId(paymentOrder.getId());
paymentOrderRefund.setPaymentChannelOrder(paymentChannelOrder.getId());
paymentOrderRefund.setPaymentMethod(paymentOrder.getPaymentMethod());
paymentOrderRefund.setTransactionId(paymentChannelOrder.getExtOrderNo());
paymentOrderRefund.setOrderAmount(paymentChannelOrder.getAmount());
paymentOrderRefund.setRefundAmount(paymentChannelOrder.getAmount());
paymentOrderRefundList.add(paymentOrderRefund);
}
//发起微信退款
paymentOrderRefundApplicationService.refund(paymentOrderRefundList);
}
} catch (Exception e) {
log.error("接收到线下活动订单取消事件处理异常", e);

Loading…
Cancel
Save