From 4b98197f2dc119d39f3c54659b49a5e0eb8116dc Mon Sep 17 00:00:00 2001 From: Derran Date: Thu, 17 Jul 2025 10:31:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contract/ContractEventHandler.java | 26 +++++++++++++++++++ .../infrastructure/constant/MqExchange.java | 2 ++ .../dam/infrastructure/constant/MqQueue.java | 2 ++ 3 files changed, 30 insertions(+) diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/contract/ContractEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/contract/ContractEventHandler.java index c8dbd34..32909c2 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/contract/ContractEventHandler.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/contract/ContractEventHandler.java @@ -28,9 +28,12 @@ import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum; import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; import com.qniao.dam.infrastructure.constant.MqExchange; import com.qniao.dam.infrastructure.constant.MqQueue; +import com.qniao.dam.infrastructure.persistent.dao.contract.ContractDao; import com.qniao.dam.infrastructure.utils.SnowFlakeUtil; import com.qniao.dam.query.contract.ContractQueryService; +import com.qniao.das.domian.aggregate.dsct.constant.DatingStoreCustomerTaskStatus; import com.qniao.dcs.domain.dsc.event.DatingStoreCustomerSignedMQ; +import com.qniao.dcs.domain.dsct.event.DatingStoreCustomerTaskOperatedMQ; import com.qniao.domain.BaseApplicationService; import com.qniao.domain.BaseDomainEvent; import com.qniao.framework.utils.TypeConvertUtils; @@ -70,6 +73,8 @@ public class ContractEventHandler extends BaseApplicationService { private ContractQueryService contractQueryService; @Resource private AmqpTemplate amqpTemplate; + @Resource + private ContractDao contractDao; @Value("${platform-org-id:963432943739605555}") private Long platformOrgId; @@ -202,4 +207,25 @@ public class ContractEventHandler extends BaseApplicationService { log.error("合同已创建事件处理异常", e); } } + + + @RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.DATING_STORE_CUSTOMER_TASK_OPERATED), + exchange = @Exchange(value = MqExchange.DATING_STORE_CUSTOMER_TASK_OPERATED, + type = ExchangeTypes.FANOUT))) + public void handle(DatingStoreCustomerTaskOperatedMQ mq) { + try { + Contract contract = contractDao.selectById(mq.getContractId()); + if (DatingStoreCustomerTaskStatus.DELIVERED.equals(mq.getStatus())) { + //已交付、关单 + contract.setStatus(ContractStatusEnum.OVER); + contractAggregate.edit(contract); + } else if (DatingStoreCustomerTaskStatus.TERMINATED.equals(mq.getStatus())) { + //终止 + contract.setStatus(ContractStatusEnum.OBSOLETED); + contractAggregate.edit(contract); + } + } catch (Exception e) { + log.error("线下门店客户服务任务已操作事件处理异常", e); + } + } } 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 f5eb4b7..a9171b2 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 @@ -37,4 +37,6 @@ public interface MqExchange { String DATING_STORE_CUSTOMER_SIGNED = "fanout.DatingStoreCustomerSigned"; String CUSTOMIZED_SERVICE_CONTRACT_CREATED = "fanout.CustomizedServiceContractCreated"; + + String DATING_STORE_CUSTOMER_TASK_OPERATED = "fanout.DatingStoreCustomerTaskOperated"; } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java index 9dc3760..06c5b4b 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java @@ -27,4 +27,6 @@ public interface MqQueue { String MATCHMAKER_NOVICE_TASK_PROGRESS_FINISHED = MqExchange.MATCHMAKER_NOVICE_TASK_PROGRESS_FINISHED + serviceName; String DATING_STORE_CUSTOMER_SIGNED = MqExchange.DATING_STORE_CUSTOMER_SIGNED + serviceName; + + String DATING_STORE_CUSTOMER_TASK_OPERATED = MqExchange.DATING_STORE_CUSTOMER_TASK_OPERATED + serviceName; }