|
|
@ -23,6 +23,7 @@ import com.qniao.dam.domain.aggregate.product.repository.ProductRepository; |
|
|
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; |
|
|
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; |
|
|
import com.qniao.dam.domain.aggregate.productspec.repository.ProductSpecRepository; |
|
|
import com.qniao.dam.domain.aggregate.productspec.repository.ProductSpecRepository; |
|
|
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; |
|
|
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; |
|
|
|
|
|
import com.qniao.dam.domain.service.order.SubmitEntrustServiceOrderDomainService; |
|
|
import com.qniao.dam.domain.service.order.SubmitOrderDomainService; |
|
|
import com.qniao.dam.domain.service.order.SubmitOrderDomainService; |
|
|
import com.qniao.dam.domain.service.order.SubmitSiteActivityOrderDomainService; |
|
|
import com.qniao.dam.domain.service.order.SubmitSiteActivityOrderDomainService; |
|
|
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum; |
|
|
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum; |
|
|
@ -50,7 +51,6 @@ import com.qniao.dam.query.odc.OrderDiscountConfigQueryService; |
|
|
import com.qniao.dam.query.order.OrderQueryService; |
|
|
import com.qniao.dam.query.order.OrderQueryService; |
|
|
import com.qniao.dam.query.product.ProductQueryService; |
|
|
import com.qniao.dam.query.product.ProductQueryService; |
|
|
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; |
|
|
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; |
|
|
import com.qniao.dam.query.right.RightQueryService; |
|
|
|
|
|
import com.qniao.dam.query.usermanagement.UserManagementQueryService; |
|
|
import com.qniao.dam.query.usermanagement.UserManagementQueryService; |
|
|
import com.qniao.dam.query.usermarriageinformation.UserMarriageInformationQueryService; |
|
|
import com.qniao.dam.query.usermarriageinformation.UserMarriageInformationQueryService; |
|
|
import com.qniao.das.application.DatingAgencyServiceApplicationService; |
|
|
import com.qniao.das.application.DatingAgencyServiceApplicationService; |
|
|
@ -60,14 +60,12 @@ import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation; |
|
|
import com.qniao.das.domian.aggregate.marriageinformation.UserMarriageInformation; |
|
|
import com.qniao.das.domian.aggregate.marriageinformation.UserMarriageInformation; |
|
|
import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation; |
|
|
import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation; |
|
|
import com.qniao.das.domian.aggregate.siteactivity.SiteActivity; |
|
|
import com.qniao.das.domian.aggregate.siteactivity.SiteActivity; |
|
|
import com.qniao.das.domian.aggregate.vip.VIPEnum; |
|
|
|
|
|
import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; |
|
|
import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; |
|
|
import com.qniao.dau.domain.aggregate.matchmakeraudit.entity.MatchmakerAudit; |
|
|
import com.qniao.dau.domain.aggregate.matchmakeraudit.entity.MatchmakerAudit; |
|
|
import com.qniao.domain.BaseApplicationService; |
|
|
import com.qniao.domain.BaseApplicationService; |
|
|
import com.qniao.domain.BaseDomainEvent; |
|
|
import com.qniao.domain.BaseDomainEvent; |
|
|
import com.qniao.framework.exception.BizException; |
|
|
import com.qniao.framework.exception.BizException; |
|
|
import com.qniao.framework.utils.TypeConvertUtils; |
|
|
import com.qniao.framework.utils.TypeConvertUtils; |
|
|
import org.checkerframework.checker.units.qual.C; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
@ -129,6 +127,8 @@ public class OrderApplicationService extends BaseApplicationService { |
|
|
private UserManagementQueryService userManagementQueryService; |
|
|
private UserManagementQueryService userManagementQueryService; |
|
|
@Resource |
|
|
@Resource |
|
|
private EntrustServiceOrderQueryService entrustServiceOrderQueryService; |
|
|
private EntrustServiceOrderQueryService entrustServiceOrderQueryService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private SubmitEntrustServiceOrderDomainService submitEntrustServiceOrderDomainService; |
|
|
|
|
|
|
|
|
@Value("${default_marriage_bounty_matchmaker_id}") |
|
|
@Value("${default_marriage_bounty_matchmaker_id}") |
|
|
private Long defaultMarriageBountyMatchmakerId; |
|
|
private Long defaultMarriageBountyMatchmakerId; |
|
|
@ -289,13 +289,60 @@ public class OrderApplicationService extends BaseApplicationService { |
|
|
|
|
|
|
|
|
public UserSubmitOrderVo submitEntrustServiceOrder(Order order, |
|
|
public UserSubmitOrderVo submitEntrustServiceOrder(Order order, |
|
|
EntrustServiceOrder entrustServiceOrder) { |
|
|
EntrustServiceOrder entrustServiceOrder) { |
|
|
//1.查询是否存在委托服务 |
|
|
|
|
|
|
|
|
//查询是否存在委托服务 |
|
|
entrustServiceOrderQueryService.checkEntrustServiceOrder(entrustServiceOrder); |
|
|
entrustServiceOrderQueryService.checkEntrustServiceOrder(entrustServiceOrder); |
|
|
//2.查询委托服务价格 |
|
|
|
|
|
|
|
|
//查询委托服务价格 |
|
|
BigDecimal amount = queryEntrustServiceAmount(entrustServiceOrder); |
|
|
BigDecimal amount = queryEntrustServiceAmount(entrustServiceOrder); |
|
|
//3.组装产品信息 |
|
|
|
|
|
|
|
|
//组装产品信息 |
|
|
Product product = productApplicationService.handleEntrustServiceProduct(entrustServiceOrder, amount); |
|
|
Product product = productApplicationService.handleEntrustServiceProduct(entrustServiceOrder, amount); |
|
|
return null; |
|
|
|
|
|
|
|
|
//提交产品信息 |
|
|
|
|
|
handleProduct(product, product.getProductSpecList()); |
|
|
|
|
|
//下单人信息 |
|
|
|
|
|
UserMarriageInformation initiatorUserMarriageInformation = userMarriageInformationQueryService.queryByOwn(order.getUserId()); |
|
|
|
|
|
order.setMiId(initiatorUserMarriageInformation.getMiId()); |
|
|
|
|
|
//订单信息处理 |
|
|
|
|
|
fillEntrustServiceOrderInfo(order, product); |
|
|
|
|
|
//委托服务订单处理 |
|
|
|
|
|
handleEntrustServiceOrder(entrustServiceOrder, initiatorUserMarriageInformation, amount); |
|
|
|
|
|
//组装付款单信息 |
|
|
|
|
|
PaymentOrder paymentOrder = makePaymentOrder(order); |
|
|
|
|
|
submitEntrustServiceOrderDomainService.handle(order, paymentOrder, entrustServiceOrder); |
|
|
|
|
|
return new UserSubmitOrderVo(order.getId(), paymentOrder.getId(), false); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void handleEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder, |
|
|
|
|
|
UserMarriageInformation initiatorUserMarriageInformation, |
|
|
|
|
|
BigDecimal amount) { |
|
|
|
|
|
entrustServiceOrder.setInitiatorMiId(initiatorUserMarriageInformation.getMiId()); |
|
|
|
|
|
UserMarriageInformation targetUserMarriageInformation = userMarriageInformationQueryService.queryOwnByMiId(entrustServiceOrder.getTargetMiId()); |
|
|
|
|
|
entrustServiceOrder.setTargetMiId(targetUserMarriageInformation.getMiId()); |
|
|
|
|
|
entrustServiceOrder.setRewardAmount(amount); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void fillEntrustServiceOrderInfo(Order order, Product product) { |
|
|
|
|
|
order.setOrderCode(snowFlakeUtil.getSnowflakeOrderCode()); |
|
|
|
|
|
order.setOrderBelonging(OrderBelongingEnum.CUSTOMER); |
|
|
|
|
|
MarriageInformation marriageInformation = marriageInformationDao.selectById(order.getMiId()); |
|
|
|
|
|
order.setOrderBelongName(marriageInformation.getNickName()); |
|
|
|
|
|
order.setOrderType(OrderTypeEnum.ENTRUST_SERVICE); |
|
|
|
|
|
ProductSpec productSpec = product.getProductSpecList().get(0); |
|
|
|
|
|
OrderItem orderItem = getOrderItem(product, productSpec); |
|
|
|
|
|
order.setOrderItemList(Collections.singletonList(orderItem)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private OrderItem getOrderItem(Product product, ProductSpec productSpec) { |
|
|
|
|
|
OrderItem orderItem = new OrderItem(); |
|
|
|
|
|
orderItem.setProductId(product.getId()); |
|
|
|
|
|
orderItem.setProductSpecId(productSpec.getId()); |
|
|
|
|
|
orderItem.setProductType(product.getProductType()); |
|
|
|
|
|
orderItem.setMainCategory(product.getMainCategory()); |
|
|
|
|
|
orderItem.setSubCategory(product.getSubCategory()); |
|
|
|
|
|
orderItem.setProductTitle(product.getProductTitle()); |
|
|
|
|
|
orderItem.setProductDesc(product.getProductDesc()); |
|
|
|
|
|
orderItem.setUnitOriginalPrice(productSpec.getUnitSellingPrice()); |
|
|
|
|
|
orderItem.setUnitSettlementPrice(productSpec.getUnitSellingPrice()); |
|
|
|
|
|
orderItem.setQuantity(1); |
|
|
|
|
|
return orderItem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
|