diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java index 94d960f..bbf7dc2 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java @@ -42,6 +42,7 @@ import com.qniao.das.domian.aggregate.mntp.entity.MatchmakerNoviceTaskProgress; import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import com.qniao.dau.domain.aggregate.operationcenter.entity.OperationCenter; import com.qniao.dau.domain.aggregate.store.entity.Store; +import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; import com.qniao.dau.domian.aggregate.matchmaker.event.MatchmakerInvitedMQ; import com.qniao.dau.domian.aggregate.matchmakeraudit.constant.MatchmakerAuditBehaviorEnum; import com.qniao.domain.BaseApplicationService; @@ -164,10 +165,10 @@ public class RewardApplicationService extends BaseApplicationService { //门店回本前 拿100% 20%推荐费+50%门店费用(30%直接拿+20%新手任务完成)+ 30%回本补贴 //门店回本后 拿70% 20%推荐费+50%门店费用(30%直接拿+20%新手任务完成) RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); - if (Objects.nonNull(store.getFranchiseFee()) && store.getFranchiseFee().compareTo(BigDecimal.ZERO)>0 && !storeRevenueReward.getAllRecoveryRequirement()) { + if (Objects.nonNull(store.getFranchiseFee()) && store.getFranchiseFee().compareTo(BigDecimal.ZERO) > 0 && !storeRevenueReward.getAllRecoveryRequirement()) { //未回本 拿100% 20%推荐费+50%门店费用+ 30%回本补贴 - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50,associateOrder); - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_30,associateOrder); + handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder); + handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_30, associateOrder); //发送事件 检查是否满足回本要求 RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); @@ -175,14 +176,14 @@ public class RewardApplicationService extends BaseApplicationService { this.sendEvent(storeReEvent); } else { //回本后 拿70% 20%推荐费+50%门店费用 - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50,associateOrder); + handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder); //发送事件 检查是否满足回本要求 RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); this.sendEvent(storeReEvent); //区域分润 - handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE,associateOrder); + handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE, associateOrder); //发送事件 检查是否满足回本要求 RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); @@ -193,29 +194,31 @@ public class RewardApplicationService extends BaseApplicationService { //门店回本前+红娘没有完成新手任务: 红娘直接拿20%+30%回本补贴+对照新手任务奖励 //门店回本后: 红娘直接拿20%+30%回本补贴+对照新手任务奖励 if (Objects.nonNull(initiatorMatchmaker)) { - MatchmakerNoviceTaskProgress matchmakerNoviceTaskProgress = matchmakerNoviceTaskProgressQueryService.queryByMatchmakerId(initiatorMatchmaker.getId()); - if (Objects.nonNull(matchmakerNoviceTaskProgress)) { - if (matchmakerNoviceTaskProgress.getIsFinish()) { + MatchmakerLevelEnum matchmakerLevel = matchmakerQueryService.queryLevelByUserId(initiatorMatchmaker.getUserId()); + if (Objects.nonNull(matchmakerLevel) && MatchmakerLevelEnum.MATCHMAKER_PARTNER.getLevel() <= matchmakerLevel.getLevel()) { + //红娘推荐的话 + MatchmakerNoviceTaskProgress matchmakerNoviceTaskProgress = matchmakerNoviceTaskProgressQueryService.queryByMatchmakerId(initiatorMatchmaker.getId()); + if (Objects.nonNull(matchmakerNoviceTaskProgress) && matchmakerNoviceTaskProgress.getIsFinish()) { // 红娘已完成新手任务 门店拿50%, 没回本再拿30%回本补贴 RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); if (!storeRevenueReward.getAllRecoveryRequirement()) { //未回本 门店拿50% + 30%回本补贴 - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50,associateOrder); - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_30,associateOrder); + handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder); + handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_30, associateOrder); //发送事件 检查是否满足回本要求. RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); this.sendEvent(storeReEvent); } else { //已回本 门店拿50% - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50,associateOrder); + handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder); //发送事件 检查是否满足回本要求 RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); this.sendEvent(storeReEvent); //区域分润 - handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE,associateOrder); + handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE, associateOrder); //发送事件 检查是否满足回本要求 RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId());