Browse Source

悬赏招亲

master
张彭杰 1 year ago
parent
commit
994595865c
4 changed files with 33 additions and 19 deletions
  1. 28
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java
  2. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java
  3. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java
  4. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java

28
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<MarriageBountyOrderRewardReceiveRecord> 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<MarriageBountyOrderRewardReceiveRecord> 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(

8
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;

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

9
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())) {
//线上红娘

Loading…
Cancel
Save