Browse Source

委托服务

master
张彭杰 3 weeks ago
parent
commit
9f0f22aa95
5 changed files with 47 additions and 3 deletions
  1. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java
  2. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java
  3. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitEntrustServiceOrderDomainService.java
  4. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java
  5. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java

8
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 cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.eso.EntrustServiceOrderApplicationService;
import com.qniao.dam.application.service.marriagebounty.MarriageBountyOrderApplicationService; import com.qniao.dam.application.service.marriagebounty.MarriageBountyOrderApplicationService;
import com.qniao.dam.application.service.order.OrderApplicationService; import com.qniao.dam.application.service.order.OrderApplicationService;
import com.qniao.dam.application.service.reward.RewardApplicationService; 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.application.service.virtualaccount.VirtualAccountApplicationService;
import com.qniao.dam.domain.aggregate.activity.entity.Activity; import com.qniao.dam.domain.aggregate.activity.entity.Activity;
import com.qniao.dam.domain.aggregate.activity.repository.ActivityRepository; 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.ExternalOrderRelAggregate;
import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel; import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel;
import com.qniao.dam.domain.aggregate.ffpm.entity.FranchiseFeeProfitManagement; import com.qniao.dam.domain.aggregate.ffpm.entity.FranchiseFeeProfitManagement;
@ -133,6 +135,8 @@ public class OrderEventHandler extends BaseApplicationService {
@Resource @Resource
private OrderDao orderDao; private OrderDao orderDao;
@Resource @Resource
private EntrustServiceOrderApplicationService entrustServiceOrderApplicationService;
@Resource
private SnowFlakeUtil snowFlakeUtil; private SnowFlakeUtil snowFlakeUtil;
@Resource @Resource
private AmqpTemplate amqpTemplate; private AmqpTemplate amqpTemplate;
@ -189,6 +193,10 @@ 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());
} }
//委托服务
if (OrderTypeEnum.ENTRUST_SERVICE.equals(order.getOrderType())) {
entrustServiceOrderApplicationService.save(order.getId());
}
//外部订单处理 //外部订单处理
ExternalOrderRel externalOrderRel = externalOrderRelDao.selectOne(new LambdaQueryWrapper<ExternalOrderRel>() ExternalOrderRel externalOrderRel = externalOrderRelDao.selectOne(new LambdaQueryWrapper<ExternalOrderRel>()
.eq(ExternalOrderRel::getOrderId, order.getId())); .eq(ExternalOrderRel::getOrderId, order.getId()));

31
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.EntrustServiceOrderAggregate;
import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; 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 org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Objects;
@Service @Service
public class EntrustServiceOrderApplicationService { public class EntrustServiceOrderApplicationService {
@Resource @Resource
private EntrustServiceOrderAggregate entrustServiceOrderAggregate; 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) { public void create(EntrustServiceOrder entrustServiceOrder) {
entrustServiceOrderAggregate.create(entrustServiceOrder); entrustServiceOrderAggregate.create(entrustServiceOrder);
@ -21,6 +35,21 @@ public class EntrustServiceOrderApplicationService {
} }
public void delete(Long id) { 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);
} }
} }

2
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.order.entity.Order;
import com.qniao.dam.domain.aggregate.paymentorder.PaymentOrderAggregate; import com.qniao.dam.domain.aggregate.paymentorder.PaymentOrderAggregate;
import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder; import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder;
import com.qniao.domain.BaseDomainEvent;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
@Service @Service
public class SubmitEntrustServiceOrderDomainService { public class SubmitEntrustServiceOrderDomainService {

2
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 { public interface EntrustServiceOrderQueryService {
void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder); void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder);
EntrustServiceOrder queryByAssociateOrderId(Long associateOrderId);
} }

7
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("已委托过服务"); throw new RuntimeException("已委托过服务");
} }
} }
@Override
public EntrustServiceOrder queryByAssociateOrderId(Long associateOrderId) {
return entrustServiceOrderDao.selectOne(new LambdaQueryWrapper<EntrustServiceOrder>()
.eq(EntrustServiceOrder::getAssociateOrderId, associateOrderId)
.last("limit 1"));
}
} }
Loading…
Cancel
Save