From ea1cfe5e47f7c49733d7f73f95349d8c5c510183 Mon Sep 17 00:00:00 2001 From: Derran Date: Mon, 28 Apr 2025 17:08:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=94=BF=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RevenueRewardEventHandler.java | 8 +++---- .../reward/RewardApplicationService.java | 21 +++++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java index 9aa741e..0c09a7a 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java @@ -277,8 +277,8 @@ public class RevenueRewardEventHandler extends BaseApplicationService { RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOrgId()); if (!storeRevenueReward.getAllRecoveryRequirement()) { //未回本 拿100% 20%推荐费+50%门店费用+ 30%回本补贴 - rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.OPERATING_RECOMMEND_50); - rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.PAYBACK_SUBSIDY_30); + rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.OPERATING_RECOMMEND_50,associateOrder); + rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.PAYBACK_SUBSIDY_30,associateOrder); //发送事件 检查是否满足回本要求 RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOrgId()); @@ -286,14 +286,14 @@ public class RevenueRewardEventHandler extends BaseApplicationService { handle(storeReEvent); } else { //回本后 拿70% 20%推荐费+50%门店费用 - rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.OPERATING_RECOMMEND_50); + rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.OPERATING_RECOMMEND_50,associateOrder); //发送事件 检查是否满足回本要求 RevenueReward stRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOrgId()); RevenueRewardUpdatedEvent storeReEvent = new RevenueRewardUpdatedEvent(stRevenueReward.getId()); handle(storeReEvent); //区域分润 - rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE); + rewardApplicationService.handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), associateOrder.getOrderBelongName(), associateOrder.getSettlementAmount(), RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE,associateOrder); //发送事件 检查是否满足回本要求 RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); 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 7c86312..94d960f 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 @@ -166,8 +166,8 @@ public class RewardApplicationService extends BaseApplicationService { RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(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); - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_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()); @@ -175,14 +175,14 @@ public class RewardApplicationService extends BaseApplicationService { this.sendEvent(storeReEvent); } else { //回本后 拿70% 20%推荐费+50%门店费用 - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_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); + handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE,associateOrder); //发送事件 检查是否满足回本要求 RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); @@ -200,22 +200,22 @@ public class RewardApplicationService extends BaseApplicationService { RevenueReward storeRevenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); if (!storeRevenueReward.getAllRecoveryRequirement()) { //未回本 门店拿50% + 30%回本补贴 - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.OPERATING_RECOMMEND_50); - handleStoreRecommendMatchmakerFee(store.getOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.PAYBACK_SUBSIDY_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); + 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); + handleStoreRecommendMatchmakerFee(store.getOperationCenterOrgId(), dto.getReceiveUserName(), rewardAmount, RewardTypeEnum.SERVICE_PROVIDER_MANAGEMENT_FEE,associateOrder); //发送事件 检查是否满足回本要求 RevenueReward operationCenterRevenueReward = revenueRewardQueryService.queryByOrgId(store.getOperationCenterOrgId()); RevenueRewardUpdatedEvent operationCenterReEvent = new RevenueRewardUpdatedEvent(operationCenterRevenueReward.getId()); @@ -244,7 +244,8 @@ public class RewardApplicationService extends BaseApplicationService { public void handleStoreRecommendMatchmakerFee(Long orgId, String name, BigDecimal franchiseFee, - RewardTypeEnum rewardType) { + RewardTypeEnum rewardType, + Order associateOrder) { //服务商管理费 RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(rewardType); RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(orgId); @@ -256,6 +257,8 @@ public class RewardApplicationService extends BaseApplicationService { if (RewardTypeEnum.PAYBACK_SUBSIDY_30.equals(rewardType)) { revenueRewardRecord.setContent(revenueRewardRecord.getContent() + "回本补贴"); } + RevenueRewardAssociateOrderRecord associateOrderRecord = RevenueRewardAssociateOrderRecord.build(associateOrder.getId(), associateOrder.getSettlementAmount()); + revenueRewardRecord.setAssociateOrderRecordList(Collections.singletonList(associateOrderRecord)); revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); //计算本次回本金额 revenueReward.handleRevenueReward(revenue);