diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java index 98bd508..613da9a 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java @@ -25,12 +25,14 @@ import com.qniao.dam.domian.aggregate.marriagebount.constant.PublishIdentityType import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEnum; 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.MatchmakerDao; 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; +import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import com.qniao.domain.BaseApplicationService; import com.qniao.domain.BaseDomainEvent; import com.qniao.framework.exception.BizException; @@ -63,6 +65,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic private RewardConfigQueryService rewardConfigQueryService; @Resource private MatchmakerQueryService matchmakerQueryService; + @Resource + private MatchmakerDao matchmakerDao; public void save(Long orderId) { Order order = orderRepository.load(orderId); @@ -211,7 +215,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic List rewardReceiveRecordList = new ArrayList<>(); //分润 发榜嘉宾实名认证 if (Objects.nonNull(rewardInviteUserId)) { - RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(rewardInviteUserId); + Matchmaker matchmaker = matchmakerQueryService.queryByUserId(rewardInviteUserId); + RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(matchmaker); if (Objects.nonNull(guestCertificationReward)) { BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -222,7 +227,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic } //分润 匹配嘉宾实名认证 if (Objects.nonNull(guestsInviteUserId)) { - RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(guestsInviteUserId); + Matchmaker matchmaker = matchmakerQueryService.queryByUserId(guestsInviteUserId); + RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(matchmaker); if (Objects.nonNull(guestCertificationReward)) { BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -233,7 +239,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic } //分润 发布悬赏招亲 if (Objects.nonNull(rewardPublishMatchmakerUserId)) { - RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(rewardPublishMatchmakerUserId); + Matchmaker matchmaker = matchmakerQueryService.queryByUserId(rewardPublishMatchmakerUserId); + RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(matchmaker); if (Objects.nonNull(publishMarriageBountyReward)) { BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -244,7 +251,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic } //分润 发布悬赏招亲 if (Objects.nonNull(guestsMatchmakerUserId)) { - RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryMatchMarriageBountyReward(guestsMatchmakerUserId); + Matchmaker matchmaker = matchmakerQueryService.queryByUserId(guestsMatchmakerUserId); + RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryMatchMarriageBountyReward(matchmaker); if (Objects.nonNull(matchMarriageBountyReward)) { BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -297,7 +305,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic List rewardReceiveRecordList = new ArrayList<>(); //分润 发榜嘉宾实名认证 红娘发布的榜单已经扣除佣金 if (Objects.nonNull(rewardInviteUserId) && PublishIdentityTypeEnum.GUEST.equals(existMarriageBountyOrder.getPublishType())) { - RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(rewardInviteUserId); + Matchmaker matchmaker = matchmakerDao.selectById(rewardInviteUserId); + RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(matchmaker); if (Objects.nonNull(guestCertificationReward)) { BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -308,7 +317,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic } //分润 匹配嘉宾实名认证 if (Objects.nonNull(guestsInviteUserId)) { - RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(guestsInviteUserId); + Matchmaker matchmaker = matchmakerDao.selectById(guestsInviteUserId); + RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(matchmaker); if (Objects.nonNull(guestCertificationReward)) { BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -321,7 +331,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic //分润 发布悬赏招亲 红娘发布的榜单已经扣除佣金 if (Objects.nonNull(rewardPublishMatchmakerUserId) && PublishIdentityTypeEnum.GUEST.equals(existMarriageBountyOrder.getPublishType())) { - RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(rewardPublishMatchmakerUserId); + Matchmaker matchmaker = matchmakerDao.selectById(rewardPublishMatchmakerUserId); + RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(matchmaker); if (Objects.nonNull(publishMarriageBountyReward)) { BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( @@ -332,7 +343,8 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic } //分润 发布悬赏招亲 if (Objects.nonNull(guestsMatchmakerUserId)) { - RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryMatchMarriageBountyReward(guestsMatchmakerUserId); + Matchmaker matchmaker = matchmakerDao.selectById(guestsMatchmakerUserId); + RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryMatchMarriageBountyReward(matchmaker); if (Objects.nonNull(matchMarriageBountyReward)) { BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount()); MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build( 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 aed4149..1a0e6fa 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 @@ -32,6 +32,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.MatchmakerDao; import com.qniao.dam.infrastructure.utils.SnowFlakeUtil; import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService; import com.qniao.dam.query.matchmaker.MatchmakerQueryService; @@ -94,6 +95,8 @@ public class OrderApplicationService extends BaseApplicationService { private DatingAgencyServiceApplicationService datingAgencyServiceApplicationService; @Resource private RewardConfigQueryService rewardConfigQueryService; + @Resource + private MatchmakerDao matchmakerDao; @Value("${marriage_bounty_meeting_quantity:5}") private Integer marriageBountyMeetingQuantity; @@ -240,8 +243,9 @@ public class OrderApplicationService extends BaseApplicationService { if (PublishIdentityTypeEnum.MATCHMAKER.equals(publishType)) { //红娘发榜的话,则下单不需要给发布嘉宾邀请金额+发榜佣金 //获取红娘身份 - RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(order.getUserId()); - RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(order.getUserId()); + Matchmaker matchmaker = matchmakerDao.selectById(order.getUserId()); + RewardConfig guestCertificationReward = rewardConfigQueryService.queryGuestCertificationReward(matchmaker); + RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryPublishMarriageBountyReward(matchmaker); if (CollUtil.isNotEmpty(order.getOrderItemList())) { BigDecimal totalOriginalAmount = BigDecimal.ZERO; BigDecimal totalDiscountAmount = BigDecimal.ZERO; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java index 16e3a63..c9569ce 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java @@ -5,6 +5,7 @@ import com.qniao.dam.api.query.rewardconfig.user.response.RewardConfigVo; import com.qniao.dam.api.query.rewardconfig.user.response.UserGetRewardConfigDetailVo; import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; +import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import java.util.List; @@ -15,9 +16,9 @@ public interface RewardConfigQueryService { List listRewardConfigByMatchMaker(Integer type); - RewardConfig queryGuestCertificationReward(Long rewardInviteUserId); + RewardConfig queryGuestCertificationReward(Matchmaker matchmaker); - RewardConfig queryPublishMarriageBountyReward(Long rewardPublishMatchmakerUserId); + RewardConfig queryPublishMarriageBountyReward(Matchmaker matchmaker); - RewardConfig queryMatchMarriageBountyReward(Long guestsMatchmakerUserId); + RewardConfig queryMatchMarriageBountyReward(Matchmaker matchmaker); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java index 83a477e..710e18d 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java @@ -61,8 +61,7 @@ public class RewardConfigQueryServiceImpl implements RewardConfigQueryService { } @Override - public RewardConfig queryGuestCertificationReward(Long userId) { - Matchmaker matchmaker = matchmakerQueryService.queryByUserId(userId); + public RewardConfig queryGuestCertificationReward(Matchmaker matchmaker) { if (Objects.nonNull(matchmaker)) { if (ProductSubCategoryEnum.MATCHMAKER_ONLINE_FEE.equals(matchmaker.getType())) { //线上红娘 @@ -76,8 +75,7 @@ public class RewardConfigQueryServiceImpl implements RewardConfigQueryService { } @Override - public RewardConfig queryPublishMarriageBountyReward(Long userId) { - Matchmaker matchmaker = matchmakerQueryService.queryByUserId(userId); + public RewardConfig queryPublishMarriageBountyReward(Matchmaker matchmaker) { if (Objects.nonNull(matchmaker)) { if (ProductSubCategoryEnum.MATCHMAKER_ONLINE_FEE.equals(matchmaker.getType())) { //线上红娘 @@ -91,8 +89,7 @@ public class RewardConfigQueryServiceImpl implements RewardConfigQueryService { } @Override - public RewardConfig queryMatchMarriageBountyReward(Long userId) { - Matchmaker matchmaker = matchmakerQueryService.queryByUserId(userId); + public RewardConfig queryMatchMarriageBountyReward(Matchmaker matchmaker) { if (Objects.nonNull(matchmaker)) { if (ProductSubCategoryEnum.MATCHMAKER_ONLINE_FEE.equals(matchmaker.getType())) { //线上红娘