diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/OrderUserCommandController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/OrderUserCommandController.java index beb1246..3cde125 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/OrderUserCommandController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/OrderUserCommandController.java @@ -90,4 +90,9 @@ public class OrderUserCommandController { return orderApplicationService.calculateMatchmakerOrderFee(order, dto.getMatchmakerOrderType()); } + @ApiOperation("用户提交红娘订单") + @PostMapping("complete/order") + public void userCompleteOrder(@RequestBody @Valid UserCompleteOrderDto dto) { + orderApplicationService.complete(dto.getId()); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserCompleteOrderDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserCompleteOrderDto.java new file mode 100644 index 0000000..18ad2d4 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserCompleteOrderDto.java @@ -0,0 +1,15 @@ +package com.qniao.dam.api.command.order.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class UserCompleteOrderDto { + + @ApiModelProperty("唯一标识") + @NotNull + private Long id; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java index b145e8f..787eff1 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java @@ -12,6 +12,7 @@ import com.qniao.dam.domain.aggregate.activity.entity.ActivityProduct; import com.qniao.dam.domain.aggregate.marriagebounty.MarriageBountyOrderAggregate; import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrder; import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrderReward; +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.OrderItem; import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder; @@ -34,6 +35,7 @@ import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum; import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityProductDao; import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao; +import com.qniao.dam.infrastructure.persistent.dao.domain.OrderDao; import com.qniao.dam.infrastructure.utils.SnowFlakeUtil; import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService; import com.qniao.dam.query.matchmaker.MatchmakerQueryService; @@ -102,6 +104,10 @@ public class OrderApplicationService extends BaseApplicationService { private RewardConfigQueryService rewardConfigQueryService; @Resource private MatchmakerMarriageInformationQueryService matchmakerMarriageInformationQueryService; + @Resource + private OrderDao orderDao; + @Resource + private OrderAggregate orderAggregate; @Value("${default_marriage_bounty_matchmaker_id}") private Long defaultMarriageBountyMatchmakerId; @@ -528,4 +534,10 @@ public class OrderApplicationService extends BaseApplicationService { countMatchMakerOrderAmount(order, matchmakerOrderType); return new UserCalculateMatchmakerOrderFeeVo(order.getOriginalAmount(), order.getDiscountAmount(), order.getSettlementAmount()); } + + public void complete(Long id) { + Order order = orderDao.selectById(id); + BaseDomainEvent orderCompletedEvent = orderAggregate.complete(order); + this.sendEvent(orderCompletedEvent); + } }