diff --git a/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedEvent.java b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedEvent.java index e19aaca..ef26116 100644 --- a/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedEvent.java +++ b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedEvent.java @@ -14,4 +14,8 @@ public class MarriageBountyOrderCreatedEvent extends BaseDomainEvent { private Long id; + private Long userId; + + private Long miId; + } diff --git a/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedMQ.java b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedMQ.java new file mode 100644 index 0000000..00c53a0 --- /dev/null +++ b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCreatedMQ.java @@ -0,0 +1,17 @@ +package com.qniao.dam.domian.aggregate.marriagebounty.event; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class MarriageBountyOrderCreatedMQ implements Serializable { + + //悬赏订单标识 + private Long marriageBountyOrderId; + + private Long userId; + + private Long miId; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/marriagebounty/MarriageBountyOrderEventHandle.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/marriagebounty/MarriageBountyOrderEventHandle.java new file mode 100644 index 0000000..cf64815 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/marriagebounty/MarriageBountyOrderEventHandle.java @@ -0,0 +1,34 @@ +package com.qniao.dam.application.handler.marriagebounty; + +import com.google.common.eventbus.Subscribe; +import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCreatedEvent; +import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCreatedMQ; +import com.qniao.dam.infrastructure.constant.MqExchange; +import com.qniao.domain.BaseApplicationService; +import com.qniao.framework.utils.TypeConvertUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +@Slf4j +public class MarriageBountyOrderEventHandle extends BaseApplicationService { + + @Resource + private AmqpTemplate amqpTemplate; + + @Subscribe + public void handle(MarriageBountyOrderCreatedEvent event) { + try { + MarriageBountyOrderCreatedMQ createdMQ = TypeConvertUtils.convert(event, MarriageBountyOrderCreatedMQ.class); + createdMQ.setMarriageBountyOrderId(event.getId()); + // 发送mq事件 + amqpTemplate.convertAndSend(MqExchange.MARRIAGE_BOUNTY_ORDER_CREATED, null, createdMQ); + } catch (Exception e) { + log.error("悬赏招亲订单已创建事件处理异常", e); + } + } + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/MarriageBountyOrderAggregate.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/MarriageBountyOrderAggregate.java index 1679ed1..22a1498 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/MarriageBountyOrderAggregate.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/MarriageBountyOrderAggregate.java @@ -5,6 +5,7 @@ import com.qniao.dam.domain.aggregate.marriagebounty.repository.MarriageBountyOr import com.qniao.dam.domian.aggregate.marriagebount.constant.MarriageBountyOrderStatusEnum; import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCreatedEvent; import com.qniao.domain.BaseDomainEvent; +import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -18,7 +19,7 @@ public class MarriageBountyOrderAggregate { public BaseDomainEvent create(MarriageBountyOrder marriageBountyOrder) { marriageBountyOrder.setStatus(MarriageBountyOrderStatusEnum.MATCHMAKING); marriageBountyOrderRepository.save(marriageBountyOrder); - return new MarriageBountyOrderCreatedEvent(marriageBountyOrder.getId()); + return TypeConvertUtils.convert(marriageBountyOrder, MarriageBountyOrderCreatedEvent.class); } public void update(MarriageBountyOrder marriageBountyOrder) { diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java index c1a30d1..a665218 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java @@ -2,5 +2,6 @@ package com.qniao.dam.infrastructure.constant; public interface MqExchange { + String MARRIAGE_BOUNTY_ORDER_CREATED = "fanout.marriageBountyOrderCreated"; }