|
|
|
@ -26,6 +26,7 @@ import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; |
|
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.ProductSpecDao; |
|
|
|
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService; |
|
|
|
import com.qniao.dam.query.matchmaker.MatchmakerQueryService; |
|
|
|
import com.qniao.dam.query.paymentchannelorder.PaymentChannelOrderQueryService; |
|
|
|
import com.qniao.dam.query.paymentorder.PaymentOrderQueryService; |
|
|
|
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; |
|
|
|
@ -59,6 +60,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic |
|
|
|
private PaymentOrderRefundApplicationService paymentOrderRefundApplicationService; |
|
|
|
@Resource |
|
|
|
private RewardConfigQueryService rewardConfigQueryService; |
|
|
|
@Resource |
|
|
|
private MatchmakerQueryService matchmakerQueryService; |
|
|
|
|
|
|
|
public void save(Long orderId) { |
|
|
|
Order order = orderRepository.load(orderId); |
|
|
|
@ -128,8 +131,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void refund(Long marriageBountyOrderId,boolean management) { |
|
|
|
UserGetMarriageBountyOrderPreRefundInfoVo preRefundInfoVo = marriageBountyOrderQueryService.getMarriageBountyOrderPreRefundInfo(marriageBountyOrderId,management); |
|
|
|
public void refund(Long marriageBountyOrderId, boolean management) { |
|
|
|
UserGetMarriageBountyOrderPreRefundInfoVo preRefundInfoVo = marriageBountyOrderQueryService.getMarriageBountyOrderPreRefundInfo(marriageBountyOrderId, management); |
|
|
|
if (!preRefundInfoVo.getRefundable()) { |
|
|
|
throw new BizException("不能发起退款"); |
|
|
|
} else { |
|
|
|
@ -202,42 +205,46 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic |
|
|
|
marriageBountyOrderReward.setIsReceive(true); |
|
|
|
marriageBountyOrderReward.setMeetingMiId(guestsInviteMiId); |
|
|
|
List<MarriageBountyOrderRewardReceiveRecord> rewardReceiveRecordList = new ArrayList<>(); |
|
|
|
//分润 嘉宾实名认证 |
|
|
|
RewardConfig guestCertificationReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.GUEST_CERTIFICATION); |
|
|
|
if (Objects.nonNull(guestCertificationReward)) { |
|
|
|
if (Objects.nonNull(rewardInviteUserId)) { |
|
|
|
//分润 发榜嘉宾实名认证 |
|
|
|
if (Objects.nonNull(rewardInviteUserId)) { |
|
|
|
RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(rewardInviteUserId); |
|
|
|
if (Objects.nonNull(guestCertificationReward)) { |
|
|
|
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.GUEST_CERTIFICATION, rewardInviteUserId, receivedAmount); |
|
|
|
guestCertificationReward.getRewardType(), rewardInviteUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId()); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
if (Objects.nonNull(guestsInviteUserId)) { |
|
|
|
} |
|
|
|
//分润 匹配嘉宾实名认证 |
|
|
|
if (Objects.nonNull(guestsInviteUserId)) { |
|
|
|
RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(guestsInviteUserId); |
|
|
|
if (Objects.nonNull(guestCertificationReward)) { |
|
|
|
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.GUEST_CERTIFICATION, guestsInviteUserId, receivedAmount); |
|
|
|
guestCertificationReward.getRewardType(), guestsInviteUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
} |
|
|
|
//分润 发布悬赏招亲 |
|
|
|
RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY); |
|
|
|
if (Objects.nonNull(publishMarriageBountyReward)) { |
|
|
|
if (Objects.nonNull(rewardPublishMatchmakerUserId)) { |
|
|
|
if (Objects.nonNull(rewardPublishMatchmakerUserId)) { |
|
|
|
RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(rewardPublishMatchmakerUserId); |
|
|
|
if (Objects.nonNull(publishMarriageBountyReward)) { |
|
|
|
BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY, rewardPublishMatchmakerUserId, receivedAmount); |
|
|
|
publishMarriageBountyReward.getRewardType(), rewardPublishMatchmakerUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId()); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
} |
|
|
|
//分润 发布悬赏招亲 |
|
|
|
RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCH_MARRIAGE_BOUNTY); |
|
|
|
if (Objects.nonNull(matchMarriageBountyReward)) { |
|
|
|
if (Objects.nonNull(guestsMatchmakerUserId)) { |
|
|
|
if (Objects.nonNull(guestsMatchmakerUserId)) { |
|
|
|
RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryMatchMarriageBountyReward(guestsMatchmakerUserId); |
|
|
|
if (Objects.nonNull(matchMarriageBountyReward)) { |
|
|
|
BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.MATCH_MARRIAGE_BOUNTY, guestsMatchmakerUserId, receivedAmount); |
|
|
|
matchMarriageBountyReward.getRewardType(), guestsMatchmakerUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
@ -284,42 +291,48 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic |
|
|
|
marriageBountyOrder.setId(marriageBountyOrderId); |
|
|
|
marriageBountyOrderReward.setIsReceive(true); |
|
|
|
List<MarriageBountyOrderRewardReceiveRecord> rewardReceiveRecordList = new ArrayList<>(); |
|
|
|
//分润 嘉宾实名认证 |
|
|
|
RewardConfig guestCertificationReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.GUEST_CERTIFICATION); |
|
|
|
if (Objects.nonNull(guestCertificationReward)) { |
|
|
|
if (Objects.nonNull(rewardInviteUserId)) { |
|
|
|
//分润 发榜嘉宾实名认证 |
|
|
|
if (Objects.nonNull(rewardInviteUserId)) { |
|
|
|
RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(rewardInviteUserId); |
|
|
|
if (Objects.nonNull(guestCertificationReward)) { |
|
|
|
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.GUEST_CERTIFICATION, rewardInviteUserId, receivedAmount); |
|
|
|
guestCertificationReward.getRewardType(), rewardInviteUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId()); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
if (Objects.nonNull(guestsInviteUserId)) { |
|
|
|
} |
|
|
|
//分润 匹配嘉宾实名认证 |
|
|
|
if (Objects.nonNull(guestsInviteUserId)) { |
|
|
|
RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(guestsInviteUserId); |
|
|
|
if (Objects.nonNull(guestCertificationReward)) { |
|
|
|
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.GUEST_CERTIFICATION, guestsInviteUserId, receivedAmount); |
|
|
|
guestCertificationReward.getRewardType(), guestsInviteUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//分润 发布悬赏招亲 |
|
|
|
RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY); |
|
|
|
if (Objects.nonNull(publishMarriageBountyReward)) { |
|
|
|
if (Objects.nonNull(rewardPublishMatchmakerUserId)) { |
|
|
|
if (Objects.nonNull(rewardPublishMatchmakerUserId)) { |
|
|
|
RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(rewardPublishMatchmakerUserId); |
|
|
|
if (Objects.nonNull(publishMarriageBountyReward)) { |
|
|
|
BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY, rewardPublishMatchmakerUserId, receivedAmount); |
|
|
|
publishMarriageBountyReward.getRewardType(), rewardPublishMatchmakerUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId()); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
} |
|
|
|
//分润 发布悬赏招亲 |
|
|
|
RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCH_MARRIAGE_BOUNTY); |
|
|
|
if (Objects.nonNull(matchMarriageBountyReward)) { |
|
|
|
if (Objects.nonNull(guestsMatchmakerUserId)) { |
|
|
|
if (Objects.nonNull(guestsMatchmakerUserId)) { |
|
|
|
RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryMatchMarriageBountyReward(guestsMatchmakerUserId); |
|
|
|
if (Objects.nonNull(matchMarriageBountyReward)) { |
|
|
|
BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); |
|
|
|
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( |
|
|
|
RewardTypeEnum.MATCH_MARRIAGE_BOUNTY, guestsMatchmakerUserId, receivedAmount); |
|
|
|
matchMarriageBountyReward.getRewardType(), guestsMatchmakerUserId, receivedAmount); |
|
|
|
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId); |
|
|
|
rewardReceiveRecordList.add(rewardReceiveRecord); |
|
|
|
} |
|
|
|
|