From 9620535beb289978536cfa0dbf8706261eafeb99 Mon Sep 17 00:00:00 2001 From: Derran Date: Thu, 30 Apr 2026 11:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E5=A8=98=E7=9B=B4=E6=92=AD=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GuildMemberProfitItemEventHandler.java | 22 ++++++++++++------- .../WalletAccountApplicationService.java | 3 ++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/gmpi/GuildMemberProfitItemEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/gmpi/GuildMemberProfitItemEventHandler.java index e4e69d3..b0a868a 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/gmpi/GuildMemberProfitItemEventHandler.java +++ b/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.domian.aggregate.revenuereward.event.RevenueRewardRecordCreatedEvent; 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.query.livematchmaker.LiveMatchmakerQueryService; import com.qniao.dau.domain.aggregate.livematchmaker.entity.LiveMatchmaker; @@ -31,14 +32,19 @@ public class GuildMemberProfitItemEventHandler extends BaseApplicationService { @Subscribe private void handle(RevenueRewardRecordCreatedEvent event) { 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) { diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/walletaccount/WalletAccountApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/walletaccount/WalletAccountApplicationService.java index 3bf932b..81f0ff5 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/walletaccount/WalletAccountApplicationService.java +++ b/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()); walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); - acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); + List eventList = acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); + this.sendEvent(eventList); } }