From f173cdf769aeee449fc6a30e43f68e345ed7dd4f Mon Sep 17 00:00:00 2001 From: Derran Date: Thu, 30 Apr 2026 13:42:57 +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 --- .../gmpi/GuildMemberProfitItemEventHandler.java | 4 +++- .../VirtualAccountApplicationService.java | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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 b0a868a..db04620 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 @@ -35,7 +35,9 @@ public class GuildMemberProfitItemEventHandler extends BaseApplicationService { 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())) { + TradeTypeEnum.CHANNEL_GIFT_REWARD.equals(event.getTradeType()) || + TradeTypeEnum.ONE_ON_ONE_VOICE.equals(event.getTradeType()) || + TradeTypeEnum.ONE_ON_ONE_VIDEO.equals(event.getTradeType())) { RevenueReward revenueReward = revenueRewardDao.selectById(event.getRevenueRewardId()); if (IdentityTypeEnum.INDIVIDUAL.equals(revenueReward.getIdentityType())) { LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(revenueReward.getUserId()); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java index 2a3ba6a..8553537 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java @@ -13,6 +13,7 @@ import com.qniao.dam.domain.aggregate.order.entity.OrderItem; import com.qniao.dam.domain.aggregate.product.entity.Product; import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; import com.qniao.dam.domain.aggregate.productspec.valueobj.ProductSpecTerm; +import com.qniao.dam.domain.aggregate.revenuereward.RevenueRewardAggregate; import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; @@ -73,6 +74,8 @@ public class VirtualAccountApplicationService extends BaseApplicationService { @Resource private RevenueRewardQueryService revenueRewardQueryService; @Resource + private RevenueRewardAggregate revenueRewardAggregate; + @Resource private ProductDao productDao; @Resource private ProductSpecDao productSpecDao; @@ -482,9 +485,20 @@ public class VirtualAccountApplicationService extends BaseApplicationService { BigDecimal income = BigDecimal.valueOf(dto.getConsumeBalance()).multiply(new BigDecimal(worthRewardConfig.getValue())); income = rtcRewardConfig.calculateReward(income); + //收益信息 + RevenueReward revenueReward = revenueRewardQueryService.queryByUserId(dto.getAppId(), dto.getProfitUserId()); + if (Objects.isNull(revenueReward)) { + revenueReward = RevenueReward.initUser(dto.getAppId(), dto.getProfitUserId()); + } + RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.IM_GIFT_REWARD, TradeSceneEnum.ONLINE, + income, BigDecimal.valueOf(100), BigDecimal.ZERO, income, income); + revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); + if (RtcChannelTypeEnum.ONE_ON_ONE_VOICE.equals(dto.getRtcChannelType())) { + revenueRewardRecord.setContent("与" + payerMarriageInformation.getNickName() + "1V1语音"); walletAccountAggregate.handleIncomeData(walletAccount, income, TradeTypeEnum.ONE_ON_ONE_VOICE, "与" + payerMarriageInformation.getNickName() + "1V1语音"); } else { + revenueRewardRecord.setContent("与" + payerMarriageInformation.getNickName() + "1V1视频"); walletAccountAggregate.handleIncomeData(walletAccount, income, TradeTypeEnum.ONE_ON_ONE_VIDEO, "与" + payerMarriageInformation.getNickName() + "1V1视频"); } }