Browse Source

补充

master
188814092560 1 year ago
parent
commit
4b97ee5285
4 changed files with 84 additions and 42 deletions
  1. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/RewardUserCommandController.java
  2. 105
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java
  3. 5
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/RevenueRewardQueryService.java
  4. 10
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java

6
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/RewardUserCommandController.java

@ -25,4 +25,10 @@ public class RewardUserCommandController {
rewardApplicationService.acquireMatchmakerJoinRecommendReward(dto); rewardApplicationService.acquireMatchmakerJoinRecommendReward(dto);
} }
@ApiOperation("补充门店+运营中心的红娘加盟佣金--临时")
@PostMapping("replenish/matchmaker-join-recommend")
@IgnoreResponseAdvice
public void replenishMatchmakerJoinRecommend() {
rewardApplicationService.replenishMatchmakerJoinRecommend();
}
} }

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

@ -18,8 +18,11 @@ import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum; import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum;
import com.qniao.dam.infrastructure.constant.MqExchange; import com.qniao.dam.infrastructure.constant.MqExchange;
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao; import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.OperationCenterDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.OrderDao; import com.qniao.dam.infrastructure.persistent.dao.domain.OrderDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.StoreDao;
import com.qniao.dam.query.matchmaker.MatchmakerQueryService; import com.qniao.dam.query.matchmaker.MatchmakerQueryService;
import com.qniao.dam.query.operationcenter.OperationCenterQueryService;
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService; import com.qniao.dam.query.revenuereward.RevenueRewardQueryService;
import com.qniao.dam.query.store.StoreQueryService; import com.qniao.dam.query.store.StoreQueryService;
import com.qniao.dam.query.walletaccount.WalletAccountQueryService; import com.qniao.dam.query.walletaccount.WalletAccountQueryService;
@ -34,6 +37,7 @@ import com.qniao.dam.query.order.OrderQueryService;
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; import com.qniao.dam.query.rewardconfig.RewardConfigQueryService;
import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation; import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation;
import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker;
import com.qniao.dau.domain.aggregate.operationcenter.entity.OperationCenter;
import com.qniao.dau.domain.aggregate.store.entity.Store; import com.qniao.dau.domain.aggregate.store.entity.Store;
import com.qniao.dau.domian.aggregate.matchmakeraudit.constant.MatchmakerAuditBehaviorEnum; import com.qniao.dau.domian.aggregate.matchmakeraudit.constant.MatchmakerAuditBehaviorEnum;
import com.qniao.domain.BaseApplicationService; import com.qniao.domain.BaseApplicationService;
@ -64,8 +68,11 @@ public class RewardApplicationService extends BaseApplicationService {
@Resource @Resource
private StoreQueryService storeQueryService; private StoreQueryService storeQueryService;
@Resource @Resource
private OperationCenterQueryService operationCenterQueryService;
@Resource
private AmqpTemplate amqpTemplate; private AmqpTemplate amqpTemplate;
/** /**
* 获得红娘推荐奖励 * 获得红娘推荐奖励
*/ */
@ -138,55 +145,61 @@ public class RewardApplicationService extends BaseApplicationService {
//门店提成 //门店提成
if (Objects.nonNull(dto.getStoreOrgId())) { 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));
Store store = storeQueryService.queryByOrg(dto.getStoreOrgId());
if (!store.getAdministratorId().equals(dto.getInitiatorUserId())) {
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);
//钱包信息
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())) { 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));
OperationCenter operationCenter = operationCenterQueryService.queryByOrg(dto.getOperationCenterOrgId());
if (!operationCenter.getAdministratorId().equals(dto.getInitiatorUserId())) {
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);
//钱包信息
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);
}
} }
} }
} }
@ -397,4 +410,12 @@ public class RewardApplicationService extends BaseApplicationService {
return null; return null;
} }
} }
public void replenishMatchmakerJoinRecommend() {
List<RevenueRewardRecord> revenueRewardRecordList = revenueRewardQueryService.
listAllRecordBy(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, TradeSceneEnum.ONLINE);
if (CollUtil.isNotEmpty(revenueRewardRecordList)){
}
}
} }

5
dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/RevenueRewardQueryService.java

@ -5,7 +5,10 @@ import com.qniao.dam.api.command.revenuereward.user.response.UserGetRevenueRewar
import com.qniao.dam.api.query.revenuereward.user.request.*; import com.qniao.dam.api.query.revenuereward.user.request.*;
import com.qniao.dam.api.query.revenuereward.user.response.*; import com.qniao.dam.api.query.revenuereward.user.response.*;
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward;
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum;
import com.qniao.framework.utils.PageUtil; import com.qniao.framework.utils.PageUtil;
import java.util.List; import java.util.List;
@ -32,4 +35,6 @@ public interface RevenueRewardQueryService {
List<UserListMatchmakerRevenueRewardStatisticsVo> listMatchmakerRevenueRewardStatistics(UserListMatchmakerRevenueRewardStatisticsQueryParams queryParams); List<UserListMatchmakerRevenueRewardStatisticsVo> listMatchmakerRevenueRewardStatistics(UserListMatchmakerRevenueRewardStatisticsQueryParams queryParams);
IPage<UserPageMatchmakerRevenueRewardRecordVo> pageMatchmakerRevenueRewardRecord(PageUtil pageUtil, UserListMatchmakerRevenueRewardRecordQueryParams queryParams); IPage<UserPageMatchmakerRevenueRewardRecordVo> pageMatchmakerRevenueRewardRecord(PageUtil pageUtil, UserListMatchmakerRevenueRewardRecordQueryParams queryParams);
List<RevenueRewardRecord> listAllRecordBy(TradeTypeEnum tradeType, TradeSceneEnum tradeScene);
} }

10
dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java

@ -9,6 +9,8 @@ import com.qniao.dam.api.query.revenuereward.user.response.*;
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward;
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum;
import com.qniao.dam.infrastructure.easyexcel.EasyExcelUtil; import com.qniao.dam.infrastructure.easyexcel.EasyExcelUtil;
import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardDao; import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardRecordDao; import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardRecordDao;
@ -188,6 +190,14 @@ public class RevenueRewardQueryServiceImpl implements RevenueRewardQueryService
return page; return page;
} }
@Override
public List<RevenueRewardRecord> listAllRecordBy(TradeTypeEnum tradeType, TradeSceneEnum tradeScene) {
return revenueRewardRecordDao.selectList(new LambdaQueryWrapper<RevenueRewardRecord>()
.eq(RevenueRewardRecord::getTradeType, tradeType)
.eq(RevenueRewardRecord::getTradeScene, tradeScene)
.orderByAsc(RevenueRewardRecord::getCreateTime));
}
private List<RevenueRewardRecordExportVo> transformExport(List<UserPageRevenueRewardRecordByOperatorVo> recordList) { private List<RevenueRewardRecordExportVo> transformExport(List<UserPageRevenueRewardRecordByOperatorVo> recordList) {
List<RevenueRewardRecordExportVo> list = new ArrayList<>(); List<RevenueRewardRecordExportVo> list = new ArrayList<>();
for (UserPageRevenueRewardRecordByOperatorVo record : recordList) { for (UserPageRevenueRewardRecordByOperatorVo record : recordList) {

Loading…
Cancel
Save