From 9f0f22aa9539dbb5f4be786d53131025edc82a85 Mon Sep 17 00:00:00 2001 From: Derran Date: Sat, 7 Mar 2026 11:39:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A7=94=E6=89=98=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/order/OrderEventHandler.java | 8 +++++ ...EntrustServiceOrderApplicationService.java | 31 ++++++++++++++++++- ...ubmitEntrustServiceOrderDomainService.java | 2 -- .../eso/EntrustServiceOrderQueryService.java | 2 ++ .../EntrustServiceOrderQueryServiceImpl.java | 7 +++++ 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java index 901c82a..058c53d 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.eventbus.Subscribe; +import com.qniao.dam.application.service.eso.EntrustServiceOrderApplicationService; import com.qniao.dam.application.service.marriagebounty.MarriageBountyOrderApplicationService; import com.qniao.dam.application.service.order.OrderApplicationService; import com.qniao.dam.application.service.reward.RewardApplicationService; @@ -11,6 +12,7 @@ import com.qniao.dam.application.service.right.RightApplicationService; import com.qniao.dam.application.service.virtualaccount.VirtualAccountApplicationService; import com.qniao.dam.domain.aggregate.activity.entity.Activity; import com.qniao.dam.domain.aggregate.activity.repository.ActivityRepository; +import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; import com.qniao.dam.domain.aggregate.externalorder.ExternalOrderRelAggregate; import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel; import com.qniao.dam.domain.aggregate.ffpm.entity.FranchiseFeeProfitManagement; @@ -133,6 +135,8 @@ public class OrderEventHandler extends BaseApplicationService { @Resource private OrderDao orderDao; @Resource + private EntrustServiceOrderApplicationService entrustServiceOrderApplicationService; + @Resource private SnowFlakeUtil snowFlakeUtil; @Resource private AmqpTemplate amqpTemplate; @@ -189,6 +193,10 @@ public class OrderEventHandler extends BaseApplicationService { if (OrderTypeEnum.MARRIAGE_BOUNTY.equals(order.getOrderType())) { marriageBountyOrderApplicationService.save(order.getId()); } + //委托服务 + if (OrderTypeEnum.ENTRUST_SERVICE.equals(order.getOrderType())) { + entrustServiceOrderApplicationService.save(order.getId()); + } //外部订单处理 ExternalOrderRel externalOrderRel = externalOrderRelDao.selectOne(new LambdaQueryWrapper() .eq(ExternalOrderRel::getOrderId, order.getId())); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java index f40a0e6..61d398f 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java @@ -2,15 +2,29 @@ package com.qniao.dam.application.service.eso; import com.qniao.dam.domain.aggregate.eso.EntrustServiceOrderAggregate; import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; +import com.qniao.dam.domian.aggregate.eso.constant.EntrustServicePaymentStatusEnum; +import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceStatusEnum; +import com.qniao.dam.query.eso.EntrustServiceOrderQueryService; +import com.qniao.dam.query.matchmakermarriage.MatchmakerMarriageInformationQueryService; +import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Objects; @Service public class EntrustServiceOrderApplicationService { @Resource private EntrustServiceOrderAggregate entrustServiceOrderAggregate; + @Resource + private EntrustServiceOrderQueryService entrustServiceOrderQueryService; + @Resource + private MatchmakerMarriageInformationQueryService matchmakerMarriageInformationQueryService; + + @Value("${default_marriage_bounty_matchmaker_id}") + private Long defaultMatchmakerId; public void create(EntrustServiceOrder entrustServiceOrder) { entrustServiceOrderAggregate.create(entrustServiceOrder); @@ -21,6 +35,21 @@ public class EntrustServiceOrderApplicationService { } public void delete(Long id) { - entrustServiceOrderAggregate.delete(id); + entrustServiceOrderAggregate.delete(id); + } + + public void save(Long associateOrderId) { + EntrustServiceOrder entrustServiceOrder = entrustServiceOrderQueryService.queryByAssociateOrderId(associateOrderId); + entrustServiceOrder.setPaidAmount(entrustServiceOrder.getRewardAmount()); + entrustServiceOrder.setStatus(EntrustServiceStatusEnum.PENDING_ACCEPT); + entrustServiceOrder.setPaymentStatus(EntrustServicePaymentStatusEnum.PAID); + //服务红娘配置 + MatchmakerMarriageInformation matchmakerMarriageInformation = matchmakerMarriageInformationQueryService.queryByRecommend(entrustServiceOrder.getTargetUserId()); + if (Objects.nonNull(matchmakerMarriageInformation)) { + entrustServiceOrder.setMatchmakerId(matchmakerMarriageInformation.getMatchmakerId()); + } else { + entrustServiceOrder.setMatchmakerId(defaultMatchmakerId); + } + entrustServiceOrderAggregate.edit(entrustServiceOrder); } } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitEntrustServiceOrderDomainService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitEntrustServiceOrderDomainService.java index 8669c6f..f23b472 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitEntrustServiceOrderDomainService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitEntrustServiceOrderDomainService.java @@ -6,12 +6,10 @@ import com.qniao.dam.domain.aggregate.order.OrderAggregate; import com.qniao.dam.domain.aggregate.order.entity.Order; import com.qniao.dam.domain.aggregate.paymentorder.PaymentOrderAggregate; import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder; -import com.qniao.domain.BaseDomainEvent; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.math.BigDecimal; @Service public class SubmitEntrustServiceOrderDomainService { diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java index a017c1c..a75d336 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java @@ -5,4 +5,6 @@ import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; public interface EntrustServiceOrderQueryService { void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder); + + EntrustServiceOrder queryByAssociateOrderId(Long associateOrderId); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java index 886d572..c1c1f69 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java @@ -25,4 +25,11 @@ public class EntrustServiceOrderQueryServiceImpl implements EntrustServiceOrderQ throw new RuntimeException("已委托过服务"); } } + + @Override + public EntrustServiceOrder queryByAssociateOrderId(Long associateOrderId) { + return entrustServiceOrderDao.selectOne(new LambdaQueryWrapper() + .eq(EntrustServiceOrder::getAssociateOrderId, associateOrderId) + .last("limit 1")); + } } \ No newline at end of file