Browse Source

悬赏招亲

release
张彭杰 1 year ago
parent
commit
397ff71e0c
1 changed files with 30 additions and 26 deletions
  1. 56
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java

56
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java

@ -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);
}
}
}

Loading…
Cancel
Save