Browse Source

Merge remote-tracking branch 'origin/release' into release

master
996472796@qq.com 1 year ago
parent
commit
030e0ed008
3 changed files with 45 additions and 0 deletions
  1. 21
      dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/order/event/ExternalOrderCompletedMQEvent.java
  2. 21
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java
  3. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java

21
dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/order/event/ExternalOrderCompletedMQEvent.java

@ -0,0 +1,21 @@
package com.qniao.dam.domian.aggregate.order.event;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class ExternalOrderCompletedMQEvent implements Serializable {
@ApiModelProperty("外部标识")
private Long externalId;
@ApiModelProperty("订单标识")
private Long orderId;
private Long userId;
private Long miId;
}

21
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java

@ -1,9 +1,11 @@
package com.qniao.dam.application.handler.order; package com.qniao.dam.application.handler.order;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.qniao.dam.application.service.marriagebounty.MarriageBountyOrderApplicationService; import com.qniao.dam.application.service.marriagebounty.MarriageBountyOrderApplicationService;
import com.qniao.dam.application.service.right.RightApplicationService; import com.qniao.dam.application.service.right.RightApplicationService;
import com.qniao.dam.domain.aggregate.externalorder.valueobj.ExternalOrderRel;
import com.qniao.dam.domain.aggregate.order.entity.Order; import com.qniao.dam.domain.aggregate.order.entity.Order;
import com.qniao.dam.domain.aggregate.order.entity.OrderItem; import com.qniao.dam.domain.aggregate.order.entity.OrderItem;
import com.qniao.dam.domain.aggregate.order.repository.OrderRepository; import com.qniao.dam.domain.aggregate.order.repository.OrderRepository;
@ -15,11 +17,15 @@ import com.qniao.dam.domain.aggregate.right.RightAggregate;
import com.qniao.dam.domain.aggregate.right.entity.Right; import com.qniao.dam.domain.aggregate.right.entity.Right;
import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum; import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum;
import com.qniao.dam.domian.aggregate.order.constant.OrderTypeEnum; import com.qniao.dam.domian.aggregate.order.constant.OrderTypeEnum;
import com.qniao.dam.domian.aggregate.order.event.ExternalOrderCompletedMQEvent;
import com.qniao.dam.domian.aggregate.order.event.OrderCompletedEvent; import com.qniao.dam.domian.aggregate.order.event.OrderCompletedEvent;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum; import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.dam.infrastructure.constant.MqExchange;
import com.qniao.dam.infrastructure.persistent.dao.domain.ExternalOrderRelDao;
import com.qniao.dau.application.UecServerApplicationService; import com.qniao.dau.application.UecServerApplicationService;
import com.qniao.domain.BaseApplicationService; import com.qniao.domain.BaseApplicationService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -46,6 +52,10 @@ public class OrderEventHandler extends BaseApplicationService {
private UecServerApplicationService uecServerApplicationService; private UecServerApplicationService uecServerApplicationService;
@Resource @Resource
private MarriageBountyOrderApplicationService marriageBountyOrderApplicationService; private MarriageBountyOrderApplicationService marriageBountyOrderApplicationService;
@Resource
private ExternalOrderRelDao externalOrderRelDao;
@Resource
private AmqpTemplate amqpTemplate;
/** /**
* 订单已完成事件 -> 兑换权益 * 订单已完成事件 -> 兑换权益
@ -79,6 +89,17 @@ public class OrderEventHandler extends BaseApplicationService {
if (OrderTypeEnum.MARRIAGE_BOUNTY.equals(order.getOrderType())) { if (OrderTypeEnum.MARRIAGE_BOUNTY.equals(order.getOrderType())) {
marriageBountyOrderApplicationService.save(order.getId()); marriageBountyOrderApplicationService.save(order.getId());
} }
//外部订单处理
ExternalOrderRel externalOrderRel = externalOrderRelDao.selectOne(new LambdaQueryWrapper<ExternalOrderRel>()
.eq(ExternalOrderRel::getOrderId, order.getId()));
if (Objects.nonNull(externalOrderRel)) {
ExternalOrderCompletedMQEvent completedMQEvent = new ExternalOrderCompletedMQEvent();
completedMQEvent.setExternalId(externalOrderRel.getExternalId());
completedMQEvent.setOrderId(externalOrderRel.getOrderId());
completedMQEvent.setUserId(order.getUserId());
completedMQEvent.setMiId(order.getMiId());
amqpTemplate.convertAndSend(MqExchange.EXTERNAL_ORDER_COMPLETED, null, completedMQEvent);
}
} catch (Exception e) { } catch (Exception e) {
log.error("订单已完成事件处理异常"); log.error("订单已完成事件处理异常");
} }

3
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java

@ -11,4 +11,7 @@ public interface MqExchange {
String REWARD_MATCH_SUCCESSFULLY = "fanout.rewardMatchSuccessfully"; String REWARD_MATCH_SUCCESSFULLY = "fanout.rewardMatchSuccessfully";
String SITE_ACTIVITY_CREATED = "fanout.siteActivityCreated"; String SITE_ACTIVITY_CREATED = "fanout.siteActivityCreated";
String EXTERNAL_ORDER_COMPLETED = "fanout.externalOrderCompleted";
} }
Loading…
Cancel
Save