|
|
|
@ -108,9 +108,9 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
//邀请红娘在有效期内才能拿到佣金+积分奖励 |
|
|
|
if (Objects.nonNull(initiatorMatchmaker) && initiatorMatchmaker.checkEnable()) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(dto.getInitiatorUserId()); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(quzhaoqinAppId, dto.getInitiatorUserId()); |
|
|
|
if (Objects.isNull(revenueReward)) { |
|
|
|
revenueReward = RevenueReward.initUser(dto.getInitiatorUserId()); |
|
|
|
revenueReward = RevenueReward.initUser(quzhaoqinAppId,dto.getInitiatorUserId()); |
|
|
|
} |
|
|
|
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND); |
|
|
|
|
|
|
|
@ -167,28 +167,28 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
//门店直推的话 |
|
|
|
//门店回本前 拿100% 20%推荐费+50%门店费用(30%直接拿+20%新手任务完成)+ 30%回本补贴 |
|
|
|
//门店回本后 拿70% 20%推荐费+50%门店费用(30%直接拿+20%新手任务完成) |
|
|
|
RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
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,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_30, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
|
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); |
|
|
|
this.sendEvent(storeReEvent); |
|
|
|
} else { |
|
|
|
//回本后 拿70% 20%推荐费+50%门店费用 |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); |
|
|
|
this.sendEvent(storeReEvent); |
|
|
|
|
|
|
|
//区域分润 |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); |
|
|
|
RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,store.getOperationCenterOrgId()); |
|
|
|
RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); |
|
|
|
this.sendEvent(operationCenterReEvent); |
|
|
|
} |
|
|
|
@ -231,13 +231,13 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
Store store, |
|
|
|
BigDecimal rewardAmount, |
|
|
|
Order associateOrder) { |
|
|
|
RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
if (!storeRevenueReward.getAllRecoveryRequirement()) { |
|
|
|
//未回本 门店拿50% + 30%回本补贴 |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_30, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
//发送事件 检查是否满足回本要求. |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); |
|
|
|
this.sendEvent(storeReEvent); |
|
|
|
} else { |
|
|
|
@ -245,7 +245,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); |
|
|
|
this.sendEvent(storeReEvent); |
|
|
|
|
|
|
|
@ -253,7 +253,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, |
|
|
|
RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE, associateOrder,TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE); |
|
|
|
//发送事件 检查是否满足回本要求 |
|
|
|
RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); |
|
|
|
RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,store.getOperationCenterOrgId()); |
|
|
|
RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); |
|
|
|
this.sendEvent(operationCenterReEvent); |
|
|
|
} |
|
|
|
@ -267,7 +267,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
TradeTypeEnum tradeType) { |
|
|
|
//服务商管理费 |
|
|
|
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(rewardType); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(orgId); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,orgId); |
|
|
|
BigDecimal revenue = RewardConfig.calculatePct(franchiseFee, new BigDecimal(rewardConfig.getValue())); |
|
|
|
//线下收益 |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, TradeSceneEnum.ONLINE, |
|
|
|
@ -319,9 +319,9 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
BigDecimal recommendRewardPct = rewardConfigQueryService.queryRecommendRewardPct(dto.getInitiatorLevel(), dto.getReceiveLevel()); |
|
|
|
if (recommendRewardPct.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(dto.getInitiatorUserId()); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(quzhaoqinAppId, dto.getInitiatorUserId()); |
|
|
|
if (Objects.isNull(revenueReward)) { |
|
|
|
revenueReward = RevenueReward.initUser(dto.getInitiatorUserId()); |
|
|
|
revenueReward = RevenueReward.initUser(quzhaoqinAppId,dto.getInitiatorUserId()); |
|
|
|
} |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = RewardConfig.calculatePct(rewardAmount, recommendRewardPct); |
|
|
|
@ -379,7 +379,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_STORE); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getStoreOrgId()); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE, |
|
|
|
@ -409,7 +409,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_OPERATION_CENTER); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getOperationCenterOrgId()); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,dto.getOperationCenterOrgId()); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE, |
|
|
|
@ -449,9 +449,9 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig serviceFeeRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.PLATFORM_SERVICE_FEE); |
|
|
|
if (Objects.nonNull(serviceFeeRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(dto.getReceiver()); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(quzhaoqinAppId, dto.getReceiver()); |
|
|
|
if (Objects.isNull(revenueReward)) { |
|
|
|
revenueReward = RevenueReward.initUser(dto.getReceiver()); |
|
|
|
revenueReward = RevenueReward.initUser(quzhaoqinAppId,dto.getReceiver()); |
|
|
|
} |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = dto.getReceivedAmount(); |
|
|
|
@ -516,7 +516,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(rewardType); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByType(identityId, identityType); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByType(quzhaoqinAppId,identityId, identityType); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(amount); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, TradeSceneEnum.ONLINE, |
|
|
|
@ -560,7 +560,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig serviceFeeRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.PLATFORM_SERVICE_FEE); |
|
|
|
if (Objects.nonNull(serviceFeeRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByType(dto.getReceiver(), IdentityTypeEnum.INDIVIDUAL); |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByType(quzhaoqinAppId,dto.getReceiver(), IdentityTypeEnum.INDIVIDUAL); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = dto.getReceivedAmount(); |
|
|
|
//服务费用 |
|
|
|
@ -663,7 +663,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_STORE); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOrgId()); |
|
|
|
RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,store.getOrgId()); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(record.getTotalAssociateOrderAmount()); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE, |
|
|
|
@ -695,7 +695,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_OPERATION_CENTER); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward ocRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); |
|
|
|
RevenueReward ocRevenueReward = revenueRewardQueryService.queryByOrgId(quzhaoqinAppId,store.getOperationCenterOrgId()); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(record.getTotalAssociateOrderAmount()); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE, |
|
|
|
|