Browse Source

红娘直播任务

master
张彭杰 2 weeks ago
parent
commit
9620535beb
2 changed files with 16 additions and 9 deletions
  1. 22
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/gmpi/GuildMemberProfitItemEventHandler.java
  2. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/walletaccount/WalletAccountApplicationService.java

22
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/gmpi/GuildMemberProfitItemEventHandler.java

@ -6,6 +6,7 @@ import com.qniao.dam.domain.aggregate.gmpi.entity.GuildMemberProfitItem;
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward;
import com.qniao.dam.domian.aggregate.revenuereward.event.RevenueRewardRecordCreatedEvent; import com.qniao.dam.domian.aggregate.revenuereward.event.RevenueRewardRecordCreatedEvent;
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.TradeTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardDao; import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardDao;
import com.qniao.dam.query.livematchmaker.LiveMatchmakerQueryService; import com.qniao.dam.query.livematchmaker.LiveMatchmakerQueryService;
import com.qniao.dau.domain.aggregate.livematchmaker.entity.LiveMatchmaker; import com.qniao.dau.domain.aggregate.livematchmaker.entity.LiveMatchmaker;
@ -31,14 +32,19 @@ public class GuildMemberProfitItemEventHandler extends BaseApplicationService {
@Subscribe @Subscribe
private void handle(RevenueRewardRecordCreatedEvent event) { private void handle(RevenueRewardRecordCreatedEvent event) {
try { try {
RevenueReward revenueReward = revenueRewardDao.selectById(event.getRevenueRewardId());
if (IdentityTypeEnum.INDIVIDUAL.equals(revenueReward.getIdentityType())) {
LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(revenueReward.getUserId());
if (Objects.nonNull(liveMatchmaker) && Objects.nonNull(liveMatchmaker.getGuildId())) {
GuildMemberProfitItem item = GuildMemberProfitItem.build(liveMatchmaker.getGuildId(), liveMatchmaker.getUserId(),
liveMatchmaker.getType(), event.getTradeType(), event.getRevenue(), event.getId());
BaseDomainEvent guildMemberProfitItemEvent = guildMemberProfitItemAggregate.create(item);
this.sendEvent(guildMemberProfitItemEvent);
if (TradeTypeEnum.CHAT_REWARD.equals(event.getTradeType()) ||
TradeTypeEnum.IM_GIFT_REWARD.equals(event.getTradeType()) ||
TradeTypeEnum.LINK_MIC_REWARD.equals(event.getTradeType()) ||
TradeTypeEnum.CHANNEL_GIFT_REWARD.equals(event.getTradeType())) {
RevenueReward revenueReward = revenueRewardDao.selectById(event.getRevenueRewardId());
if (IdentityTypeEnum.INDIVIDUAL.equals(revenueReward.getIdentityType())) {
LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(revenueReward.getUserId());
if (Objects.nonNull(liveMatchmaker) && Objects.nonNull(liveMatchmaker.getGuildId())) {
GuildMemberProfitItem item = GuildMemberProfitItem.build(liveMatchmaker.getGuildId(), liveMatchmaker.getUserId(),
liveMatchmaker.getType(), event.getTradeType(), event.getRevenue(), event.getId());
BaseDomainEvent guildMemberProfitItemEvent = guildMemberProfitItemAggregate.create(item);
this.sendEvent(guildMemberProfitItemEvent);
}
} }
} }
} catch (Exception e) { } catch (Exception e) {

3
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/walletaccount/WalletAccountApplicationService.java

@ -123,6 +123,7 @@ public class WalletAccountApplicationService extends BaseApplicationService {
WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(TradeTypeEnum.LINK_MIC_REWARD, revenue, true, originalBalance, walletAccount.getTotalBalance()); WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(TradeTypeEnum.LINK_MIC_REWARD, revenue, true, originalBalance, walletAccount.getTotalBalance());
walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); walletAccount.setRecordList(Collections.singletonList(walletAccountRecord));
acquireRevenueRewardDomainService.handle(revenueReward, walletAccount);
List<BaseDomainEvent> eventList = acquireRevenueRewardDomainService.handle(revenueReward, walletAccount);
this.sendEvent(eventList);
} }
} }
Loading…
Cancel
Save