|
|
|
@ -200,30 +200,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
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); |
|
|
|
//发送事件 检查是否满足回本要求. |
|
|
|
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); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
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); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); |
|
|
|
RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); |
|
|
|
this.sendEvent(operationCenterReEvent); |
|
|
|
} |
|
|
|
handleStoreRecommendMatchmaker(dto, store, rewardAmount, associateOrder); |
|
|
|
} else { |
|
|
|
// 红娘未完成 记录到 入驻费分佣管理中 |
|
|
|
FranchiseFeeProfitManagement franchiseFeeProfitManagement = FranchiseFeeProfitManagement.initUser(dto.getInitiatorUserId(), dto.getReceiveUserId(), |
|
|
|
@ -238,12 +215,46 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
matchmakerInvitedMQ.setAssociateOrderId(dto.getAssociateOrderId()); |
|
|
|
amqpTemplate.convertAndSend(MqExchange.MATCHMAKER_INVITED, null, matchmakerInvitedMQ); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//其他服务商 |
|
|
|
handleStoreRecommendMatchmaker(dto, store, rewardAmount, associateOrder); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void handleStoreRecommendMatchmaker(UserAcquireMatchmakerJoinRecommendRewardDto dto, |
|
|
|
Store store, |
|
|
|
BigDecimal rewardAmount, |
|
|
|
Order associateOrder) { |
|
|
|
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); |
|
|
|
//发送事件 检查是否满足回本要求. |
|
|
|
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.SERVICE_PROVIDER_MANAGEMENT_FEE, 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); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); |
|
|
|
RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); |
|
|
|
this.sendEvent(operationCenterReEvent); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void handleStoreRecommendMatchmakerFee(Long orgId, |
|
|
|
String name, |
|
|
|
BigDecimal franchiseFee, |
|
|
|
|