Browse Source

线下收益

master
张彭杰 1 year ago
parent
commit
8139aa87ee
3 changed files with 65 additions and 56 deletions
  1. 2
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserAcquireMatchmakerJoinRecommendRewardDto.java
  2. 5
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/UserAcquireMatchmakerJoinRecommendRewardDto.java
  3. 114
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java

2
dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserAcquireMatchmakerJoinRecommendRewardDto.java

@ -17,4 +17,6 @@ public class UserAcquireMatchmakerJoinRecommendRewardDto {
private MatchmakerLevelEnum initiatorLevel;
private MatchmakerLevelEnum receiveLevel;
private MatchmakerAuditBehaviorEnum behavior;
private Long storeOrgId;
private Long operationCenterOrgId;
}

5
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/UserAcquireMatchmakerJoinRecommendRewardDto.java

@ -29,4 +29,9 @@ public class UserAcquireMatchmakerJoinRecommendRewardDto {
@ApiModelProperty("行为 1注册 2升级")
private MatchmakerAuditBehaviorEnum behavior;
@ApiModelProperty("门店组织标识")
private Long storeOrgId;
@ApiModelProperty("运营中心组织id")
private Long operationCenterOrgId;
}

114
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java

@ -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())) {

Loading…
Cancel
Save