|
|
|
@ -65,33 +65,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic |
|
|
|
Order order = orderRepository.load(orderId); |
|
|
|
MarriageBountyOrder marriageBountyOrder; |
|
|
|
marriageBountyOrder = marriageBountyOrderQueryService.queryBy(order.getUserId(), order.getMiId(), |
|
|
|
MarriageBountyOrderStatusEnum.INIT, MarriageBountyOrderPaymentStatusEnum.INIT); |
|
|
|
MarriageBountyOrderStatusEnum.MATCHMAKING, MarriageBountyOrderPaymentStatusEnum.PAID); |
|
|
|
if (Objects.nonNull(marriageBountyOrder)) { |
|
|
|
//订单关系 |
|
|
|
MarriageBountyOrderRel orderRel = MarriageBountyOrderRel.build(orderId, order.getSettlementAmount()); |
|
|
|
marriageBountyOrder.setOrderRelList(Collections.singletonList(orderRel)); |
|
|
|
//悬赏招亲订单奖励 |
|
|
|
List<MarriageBountyOrderReward> orderRewardList = new ArrayList<>(); |
|
|
|
//悬赏招亲订单产品记录 |
|
|
|
MarriageBountyOrderProductRecord productRecord = new MarriageBountyOrderProductRecord(); |
|
|
|
order.getOrderItemList().forEach(orderItem -> { |
|
|
|
ProductSpec productSpec = productSpecDao.selectById(orderItem.getProductSpecId()); |
|
|
|
productRecord.getProductSpecRecordList().add(MarriageBountyOrderProductSpecRecord.build( |
|
|
|
orderItem.getSubCategory(), productSpec.getUnitOriginalPrice(), productSpec.getUnitOriginalPrice())); |
|
|
|
if (ProductSubCategoryEnum.MARRIAGE_BOUNTY_MEETING_FEE.equals(orderItem.getSubCategory())) { |
|
|
|
orderRewardList.addAll(MarriageBountyOrderReward.build(ProductSubCategoryEnum.MARRIAGE_BOUNTY_MEETING_FEE, orderItem.getUnitSettlementPrice(), orderItem.getQuantity())); |
|
|
|
} else if (ProductSubCategoryEnum.MARRIAGE_BOUNTY_RESULT_GIFT.equals(orderItem.getSubCategory())) { |
|
|
|
orderRewardList.addAll(MarriageBountyOrderReward.build(ProductSubCategoryEnum.MARRIAGE_BOUNTY_RESULT_GIFT, orderItem.getUnitSettlementPrice(), orderItem.getQuantity())); |
|
|
|
} |
|
|
|
}); |
|
|
|
marriageBountyOrder.setOrderRewardList(orderRewardList); |
|
|
|
marriageBountyOrder.setInsertOrderRewardList(orderRewardList); |
|
|
|
marriageBountyOrder.calculateRewardAmount(); |
|
|
|
productRecord.setRewardAmount(marriageBountyOrder.getRewardAmount()); |
|
|
|
marriageBountyOrder.setProductRecordList(Collections.singletonList(productRecord)); |
|
|
|
BaseDomainEvent event = marriageBountyOrderAggregate.create(marriageBountyOrder); |
|
|
|
this.sendEvent(event); |
|
|
|
} else { |
|
|
|
marriageBountyOrder = marriageBountyOrderQueryService.queryBy(order.getUserId(), order.getMiId(), |
|
|
|
MarriageBountyOrderStatusEnum.MATCHMAKING, MarriageBountyOrderPaymentStatusEnum.PAID); |
|
|
|
if (Objects.nonNull(marriageBountyOrder)) { |
|
|
|
@ -122,6 +97,35 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic |
|
|
|
marriageBountyOrder.setProductRecordList(Collections.singletonList(productRecord)); |
|
|
|
marriageBountyOrderAggregate.update(marriageBountyOrder); |
|
|
|
} |
|
|
|
} else { |
|
|
|
marriageBountyOrder = marriageBountyOrderQueryService.queryBy(order.getUserId(), order.getMiId(), |
|
|
|
MarriageBountyOrderStatusEnum.INIT, MarriageBountyOrderPaymentStatusEnum.INIT); |
|
|
|
if (Objects.nonNull(marriageBountyOrder)) { |
|
|
|
//订单关系 |
|
|
|
MarriageBountyOrderRel orderRel = MarriageBountyOrderRel.build(orderId, order.getSettlementAmount()); |
|
|
|
marriageBountyOrder.setOrderRelList(Collections.singletonList(orderRel)); |
|
|
|
//悬赏招亲订单奖励 |
|
|
|
List<MarriageBountyOrderReward> orderRewardList = new ArrayList<>(); |
|
|
|
//悬赏招亲订单产品记录 |
|
|
|
MarriageBountyOrderProductRecord productRecord = new MarriageBountyOrderProductRecord(); |
|
|
|
order.getOrderItemList().forEach(orderItem -> { |
|
|
|
ProductSpec productSpec = productSpecDao.selectById(orderItem.getProductSpecId()); |
|
|
|
productRecord.getProductSpecRecordList().add(MarriageBountyOrderProductSpecRecord.build( |
|
|
|
orderItem.getSubCategory(), productSpec.getUnitOriginalPrice(), productSpec.getUnitOriginalPrice())); |
|
|
|
if (ProductSubCategoryEnum.MARRIAGE_BOUNTY_MEETING_FEE.equals(orderItem.getSubCategory())) { |
|
|
|
orderRewardList.addAll(MarriageBountyOrderReward.build(ProductSubCategoryEnum.MARRIAGE_BOUNTY_MEETING_FEE, orderItem.getUnitSettlementPrice(), orderItem.getQuantity())); |
|
|
|
} else if (ProductSubCategoryEnum.MARRIAGE_BOUNTY_RESULT_GIFT.equals(orderItem.getSubCategory())) { |
|
|
|
orderRewardList.addAll(MarriageBountyOrderReward.build(ProductSubCategoryEnum.MARRIAGE_BOUNTY_RESULT_GIFT, orderItem.getUnitSettlementPrice(), orderItem.getQuantity())); |
|
|
|
} |
|
|
|
}); |
|
|
|
marriageBountyOrder.setOrderRewardList(orderRewardList); |
|
|
|
marriageBountyOrder.setInsertOrderRewardList(orderRewardList); |
|
|
|
marriageBountyOrder.calculateRewardAmount(); |
|
|
|
productRecord.setRewardAmount(marriageBountyOrder.getRewardAmount()); |
|
|
|
marriageBountyOrder.setProductRecordList(Collections.singletonList(productRecord)); |
|
|
|
BaseDomainEvent event = marriageBountyOrderAggregate.create(marriageBountyOrder); |
|
|
|
this.sendEvent(event); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|