|
|
|
@ -68,7 +68,6 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
|
|
|
|
/** |
|
|
|
* 获得红娘推荐奖励 |
|
|
|
* 通过分佣模式分配给门店(50%0.7)、运营中心(50%*0.3)和红娘(50%),没有红娘情况下门店(70%)、运营中心(30%), |
|
|
|
*/ |
|
|
|
public void acquireMatchmakerJoinRecommendReward(UserAcquireMatchmakerJoinRecommendRewardDto dto) { |
|
|
|
//红娘加盟订单 |
|
|
|
@ -136,58 +135,61 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// //门店提成 |
|
|
|
// if (Objects.nonNull(dto.getStoreOrgId())) { |
|
|
|
// synchronized (dto.getStoreOrgId().toString().intern()) { |
|
|
|
// RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_STORE); |
|
|
|
// if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
// //收益信息 |
|
|
|
// RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
// //营收额 |
|
|
|
// BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount); |
|
|
|
// RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, |
|
|
|
// revenue, revenue, associateOrder.getOriginalAmount()); |
|
|
|
// revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(associateOrder.getOrderBelongName()) ? associateOrder.getOrderBelongName() : "")); |
|
|
|
// RevenueRewardAssociateOrderRecord associateOrderRecord = RevenueRewardAssociateOrderRecord.build(associateOrder.getId(), associateOrder.getSettlementAmount()); |
|
|
|
// revenueRewardRecord.setAssociateOrderRecordList(Collections.singletonList(associateOrderRecord)); |
|
|
|
// revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); |
|
|
|
// |
|
|
|
// //钱包信息 |
|
|
|
// WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getStoreOrgId(), IdentityTypeEnum.ORGANIZATION); |
|
|
|
// walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(revenue)); |
|
|
|
// walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); |
|
|
|
// WalletAccountRecord record = WalletAccountRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, revenue, true); |
|
|
|
// walletAccount.setRecordList(Collections.singletonList(record)); |
|
|
|
// acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } |
|
|
|
// //运营中心提成 |
|
|
|
// if (Objects.nonNull(dto.getOperationCenterOrgId())) { |
|
|
|
// synchronized (dto.getOperationCenterOrgId().toString().intern()) { |
|
|
|
// RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_OPERATION_CENTER); |
|
|
|
// if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
// //收益信息 |
|
|
|
// RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getOperationCenterOrgId()); |
|
|
|
// //营收额 |
|
|
|
// BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount); |
|
|
|
// RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, |
|
|
|
// revenue, revenue, associateOrder.getOriginalAmount()); |
|
|
|
// revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(associateOrder.getOrderBelongName()) ? associateOrder.getOrderBelongName() : "")); |
|
|
|
// RevenueRewardAssociateOrderRecord associateOrderRecord = RevenueRewardAssociateOrderRecord.build(associateOrder.getId(), associateOrder.getSettlementAmount()); |
|
|
|
// revenueRewardRecord.setAssociateOrderRecordList(Collections.singletonList(associateOrderRecord)); |
|
|
|
// revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); |
|
|
|
// |
|
|
|
// //钱包信息 |
|
|
|
// WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getOperationCenterOrgId(), IdentityTypeEnum.ORGANIZATION); |
|
|
|
// walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(revenue)); |
|
|
|
// walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); |
|
|
|
// WalletAccountRecord record = WalletAccountRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, revenue, true); |
|
|
|
// walletAccount.setRecordList(Collections.singletonList(record)); |
|
|
|
// acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } |
|
|
|
|
|
|
|
//门店提成 |
|
|
|
if (Objects.nonNull(dto.getStoreOrgId())) { |
|
|
|
synchronized (dto.getStoreOrgId().toString().intern()) { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_STORE); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId()); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE, |
|
|
|
revenue, new BigDecimal(recommendRewardConfig.getValue()), BigDecimal.ZERO, revenue, associateOrder.getSettlementAmount()); |
|
|
|
revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(dto.getReceiveUserName()) ? dto.getReceiveUserName() : "")); |
|
|
|
RevenueRewardAssociateOrderRecord associateOrderRecord = RevenueRewardAssociateOrderRecord.build(associateOrder.getId(), associateOrder.getSettlementAmount()); |
|
|
|
revenueRewardRecord.setAssociateOrderRecordList(Collections.singletonList(associateOrderRecord)); |
|
|
|
revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); |
|
|
|
|
|
|
|
//钱包信息 |
|
|
|
WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getStoreOrgId(), IdentityTypeEnum.ORGANIZATION); |
|
|
|
BigDecimal originalBalance = walletAccount.getTotalBalance(); |
|
|
|
walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(revenue)); |
|
|
|
walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); |
|
|
|
WalletAccountRecord record = WalletAccountRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, revenue, true, originalBalance, walletAccount.getTotalBalance()); |
|
|
|
walletAccount.setRecordList(Collections.singletonList(record)); |
|
|
|
acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//运营中心提成 |
|
|
|
if (Objects.nonNull(dto.getOperationCenterOrgId())) { |
|
|
|
synchronized (dto.getOperationCenterOrgId().toString().intern()) { |
|
|
|
RewardConfig recommendRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_OPERATION_CENTER); |
|
|
|
if (Objects.nonNull(recommendRewardConfig)) { |
|
|
|
//收益信息 |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getOperationCenterOrgId()); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE, |
|
|
|
revenue, new BigDecimal(recommendRewardConfig.getValue()), BigDecimal.ZERO, revenue, associateOrder.getSettlementAmount()); |
|
|
|
revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(dto.getReceiveUserName()) ? dto.getReceiveUserName() : "")); |
|
|
|
RevenueRewardAssociateOrderRecord associateOrderRecord = RevenueRewardAssociateOrderRecord.build(associateOrder.getId(), associateOrder.getSettlementAmount()); |
|
|
|
revenueRewardRecord.setAssociateOrderRecordList(Collections.singletonList(associateOrderRecord)); |
|
|
|
revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); |
|
|
|
|
|
|
|
//钱包信息 |
|
|
|
WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getOperationCenterOrgId(), IdentityTypeEnum.ORGANIZATION); |
|
|
|
BigDecimal originalBalance = walletAccount.getTotalBalance(); |
|
|
|
walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(revenue)); |
|
|
|
walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); |
|
|
|
WalletAccountRecord record = WalletAccountRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, revenue, true, originalBalance, walletAccount.getTotalBalance()); |
|
|
|
walletAccount.setRecordList(Collections.singletonList(record)); |
|
|
|
acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -215,7 +217,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
//服务费用 |
|
|
|
serviceFee = serviceFeeRewardConfig.calculateReward(revenue); |
|
|
|
BigDecimal earnings = revenue.subtract(serviceFee); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,TradeSceneEnum.ONLINE, |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, TradeSceneEnum.ONLINE, |
|
|
|
revenue, BigDecimal.valueOf(100), new BigDecimal(serviceFeeRewardConfig.getValue()), earnings, dto.getTotalAssociateOrderAmount()); |
|
|
|
revenueRewardRecord.handleContent(Collections.singletonList(meetingMi.getNickName())); |
|
|
|
if (CollUtil.isNotEmpty(dto.getOrderIdRelList())) { |
|
|
|
@ -276,7 +278,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
RevenueReward revenueReward = revenueRewardQueryService.queryByType(identityId, identityType); |
|
|
|
//营收额 |
|
|
|
BigDecimal revenue = recommendRewardConfig.calculateReward(amount); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,TradeSceneEnum.ONLINE, |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, TradeSceneEnum.ONLINE, |
|
|
|
revenue, new BigDecimal(recommendRewardConfig.getValue()), BigDecimal.ZERO, revenue, totalAssociateOrderAmount); |
|
|
|
revenueRewardRecord.handleContent(Collections.singletonList(meetingMi.getNickName())); |
|
|
|
if (CollUtil.isNotEmpty(orderIdRekList)) { |
|
|
|
@ -323,7 +325,7 @@ public class RewardApplicationService extends BaseApplicationService { |
|
|
|
//服务费用 |
|
|
|
serviceFee = serviceFeeRewardConfig.calculateReward(revenue); |
|
|
|
BigDecimal earnings = revenue.subtract(serviceFee); |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,TradeSceneEnum.ONLINE, revenue, dto.getRevenuePct(), |
|
|
|
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, TradeSceneEnum.ONLINE, revenue, dto.getRevenuePct(), |
|
|
|
new BigDecimal(serviceFeeRewardConfig.getValue()), earnings, dto.getTotalAssociateOrderAmount()); |
|
|
|
revenueRewardRecord.handleContent(Collections.singletonList(associatedMi.getNickName())); |
|
|
|
if (CollUtil.isNotEmpty(dto.getOrderIdRelList())) { |
|
|
|
|