From 201364f8099c4f060fedb54000911d67c0e1f830 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Fri, 6 Mar 2026 17:25:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=96=E5=8A=B1=E7=9A=84500=E9=87=91?= =?UTF-8?q?=E5=B8=81=E8=AE=A1=E5=85=A5=E6=8E=92=E8=A1=8C=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../other/app/listener/task/TaskListener.java | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java index 2b73ffb2..97ca85e4 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java @@ -22,14 +22,22 @@ import com.red.circle.other.app.service.task.TaskService; import com.red.circle.other.app.util.DateTimeAsiaRiyadhUtils; import com.red.circle.other.domain.admintask.AdminTaskType; import com.red.circle.other.domain.gateway.user.ability.InviteUserGateway; +import com.red.circle.other.domain.ranking.RankingActivityType; +import com.red.circle.other.domain.ranking.RankingCycleType; +import com.red.circle.other.domain.ranking.RankingDimension; +import com.red.circle.other.infra.database.mongo.entity.activity.RankingActivityRecord; import com.red.circle.other.infra.database.rds.dao.task.UserTaskProgressDAO; import com.red.circle.other.infra.database.rds.dao.user.user.UserInviteUserDAO; import com.red.circle.other.infra.database.rds.entity.task.UserTaskProgress; import com.red.circle.other.infra.database.rds.entity.user.user.UserInviteUser; +import com.red.circle.other.infra.database.rds.service.user.user.InviteUserRechargeCommissionService; +import com.red.circle.other.infra.database.rds.service.user.user.InviteUserSummaryService; import com.red.circle.other.infra.database.rds.service.user.user.RelationshipFriendService; +import com.red.circle.other.infra.gateway.RankingActivityGateway; import com.red.circle.other.inner.endpoint.activity.PropsActivityClient; import com.red.circle.other.inner.model.cmd.activity.SendActivityRewardCmd; import com.red.circle.tool.core.date.TimestampUtils; +import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils; import com.red.circle.tool.core.sequence.IdWorkerUtils; import com.red.circle.wallet.inner.endpoint.wallet.WalletGoldClient; import com.red.circle.wallet.inner.model.cmd.GoldReceiptCmd; @@ -39,6 +47,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; +import java.sql.Timestamp; import java.time.Duration; import java.time.ZoneId; import java.time.ZonedDateTime; @@ -60,6 +69,9 @@ public class TaskListener implements MessageListener { private final PropsActivityClient propsActivityCnfClient; private final UserInviteUserDAO userInviteUserDAO; private final WalletGoldClient walletGoldClient; + private final InviteUserRechargeCommissionService inviteUserRechargeCommissionService; + private final InviteUserSummaryService inviteUserSummaryService; + private final RankingActivityGateway rankingActivityGateway; @Override public Action consume(ConsumerMessage message) { @@ -382,6 +394,7 @@ public class TaskListener implements MessageListener { UserInviteUser userInviteUser = allInvites.get(0); // 金币奖励发给邀请人A 500 + long gold = 500; walletGoldClient.changeBalance(GoldReceiptCmd.builder() .appIncome() .userId(userInviteUser.getUserId()) @@ -389,7 +402,7 @@ public class TaskListener implements MessageListener { .sysOrigin(userInviteUser.getSysOrigin()) .origin(GoldOrigin.INVITE_USER_REWARDS) .originDescribe(GoldOrigin.INVITE_USER_REWARDS.getDesc()) - .amount(BigDecimal.valueOf(500)) + .amount(BigDecimal.valueOf(gold)) .build()); // 金币奖励发给邀请人B 450 @@ -403,8 +416,28 @@ public class TaskListener implements MessageListener { .amount(BigDecimal.valueOf(450)) .build()); + inviteUserSummaryService.incrCommission(userInviteUser.getUserId(), BigDecimal.valueOf(gold)); + inviteUserRechargeCommissionService.add(SysOriginPlatformEnum.LIKEI.name(), userInviteUser.getUserId(), + userInviteUser.getInviteUserId(), BigDecimal.valueOf(gold)); + + recordRanking(userInviteUser.getUserId(), gold); + } + private void recordRanking(Long userId, Long quantity) { + RankingActivityRecord record = new RankingActivityRecord(); + record.setSysOrigin(SysOriginPlatformEnum.LIKEI.name()); + record.setUserId(userId); + record.setUserSex(1); + record.setActivityType(RankingActivityType.INVITE); + record.setCycleType(RankingCycleType.WEEKLY); + record.setCycleKey(ZonedDateTimeAsiaRiyadhUtils.nowWeekMondayToInt().toString()); + record.setDimension(RankingDimension.CONSUME_AMOUNT); + record.setExpiredTime(new Timestamp(System.currentTimeMillis() + 30L * 24 * 60 * 60 * 1000)); + rankingActivityGateway.accumulateRankingData(record, quantity); + } + + private void handleTask7(TaskApprovalEvent eventBody) { log.warn("处理任务-10 加入3个房间: {}", eventBody); // // 进入一次 +1