Browse Source

红娘直播任务

master
张彭杰 2 weeks ago
parent
commit
7bdcba9a36
2 changed files with 27 additions and 4 deletions
  1. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java
  2. 25
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/virtualaccount/SettleOneOnOneRtcDomainService.java

6
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java

@ -477,6 +477,7 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
} }
WalletAccount walletAccount = null; WalletAccount walletAccount = null;
RevenueReward revenueReward = null;
if (dto.getHasProfit()) { if (dto.getHasProfit()) {
walletAccount = walletAccountQueryService.queryByType(dto.getAppId(), dto.getProfitUserId(), IdentityTypeEnum.INDIVIDUAL); walletAccount = walletAccountQueryService.queryByType(dto.getAppId(), dto.getProfitUserId(), IdentityTypeEnum.INDIVIDUAL);
RewardConfig worthRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.VIRTUAL_ACCOUNT_WORTH); RewardConfig worthRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.VIRTUAL_ACCOUNT_WORTH);
@ -486,7 +487,7 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
income = rtcRewardConfig.calculateReward(income); income = rtcRewardConfig.calculateReward(income);
//收益信息 //收益信息
RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(dto.getAppId(), dto.getProfitUserId());
revenueReward = revenueRewardQueryService.queryByUserId(dto.getAppId(), dto.getProfitUserId());
if (Objects.isNull(revenueReward)) { if (Objects.isNull(revenueReward)) {
revenueReward = RevenueReward.initUser(dto.getAppId(), dto.getProfitUserId()); revenueReward = RevenueReward.initUser(dto.getAppId(), dto.getProfitUserId());
} }
@ -502,8 +503,9 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
walletAccountAggregate.handleIncomeData(walletAccount, income, TradeTypeEnum.ONE_ON_ONE_VIDEO, "与" + payerMarriageInformation.getNickName() + "1V1视频"); walletAccountAggregate.handleIncomeData(walletAccount, income, TradeTypeEnum.ONE_ON_ONE_VIDEO, "与" + payerMarriageInformation.getNickName() + "1V1视频");
} }
} }
settleOneOnOneRtcDomainService.handle(virtualAccount, walletAccount);
List<BaseDomainEvent> eventList = settleOneOnOneRtcDomainService.handle(virtualAccount, walletAccount,revenueReward);
vo.setFlag(true); vo.setFlag(true);
this.sendEvent(eventList);
} }
} }
return vo; return vo;

25
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/virtualaccount/SettleOneOnOneRtcDomainService.java

@ -1,13 +1,20 @@
package com.qniao.dam.domain.service.virtualaccount; package com.qniao.dam.domain.service.virtualaccount;
import cn.hutool.core.collection.CollUtil;
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward;
import com.qniao.dam.domain.aggregate.virtualaccount.VirtualAccountAggregate; import com.qniao.dam.domain.aggregate.virtualaccount.VirtualAccountAggregate;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount; import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
import com.qniao.dam.domain.aggregate.walletaccount.WalletAccountAggregate; import com.qniao.dam.domain.aggregate.walletaccount.WalletAccountAggregate;
import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount; import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount;
import com.qniao.dam.domian.aggregate.revenuereward.event.RevenueRewardRecordCreatedEvent;
import com.qniao.domain.BaseDomainEvent;
import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects; import java.util.Objects;
@Service @Service
@ -19,11 +26,25 @@ public class SettleOneOnOneRtcDomainService {
private WalletAccountAggregate walletAccountAggregate; private WalletAccountAggregate walletAccountAggregate;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void handle(VirtualAccount virtualAccount,
WalletAccount walletAccount) {
public List<BaseDomainEvent> handle(VirtualAccount virtualAccount,
WalletAccount walletAccount,
RevenueReward revenueReward) {
List<BaseDomainEvent> eventList = new ArrayList<>();
virtualAccountAggregate.edit(virtualAccount); virtualAccountAggregate.edit(virtualAccount);
if (Objects.nonNull(walletAccount)) { if (Objects.nonNull(walletAccount)) {
walletAccountAggregate.save(walletAccount); walletAccountAggregate.save(walletAccount);
walletAccount.getRecordList().forEach(record -> {
record.setAssociateId(revenueReward.getRecordList().get(0).getId());
});
walletAccountAggregate.save(walletAccount);
if (CollUtil.isNotEmpty(revenueReward.getRecordList())) {
revenueReward.getRecordList().forEach(record -> {
eventList.add(TypeConvertUtils.convert(record, RevenueRewardRecordCreatedEvent.class));
});
}
} }
return eventList;
} }
} }
Loading…
Cancel
Save