拉新奖励 发送给用户450和500金币

This commit is contained in:
tianfeng 2026-03-06 12:06:04 +08:00
parent 4d49320ca7
commit b937f5762b

View File

@ -1,5 +1,6 @@
package com.red.circle.other.app.listener.task; package com.red.circle.other.app.listener.task;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum; import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
@ -22,12 +23,17 @@ import com.red.circle.other.app.util.DateTimeAsiaRiyadhUtils;
import com.red.circle.other.domain.admintask.AdminTaskType; import com.red.circle.other.domain.admintask.AdminTaskType;
import com.red.circle.other.domain.gateway.user.ability.InviteUserGateway; import com.red.circle.other.domain.gateway.user.ability.InviteUserGateway;
import com.red.circle.other.infra.database.rds.dao.task.UserTaskProgressDAO; 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.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.RelationshipFriendService; import com.red.circle.other.infra.database.rds.service.user.user.RelationshipFriendService;
import com.red.circle.other.inner.endpoint.activity.PropsActivityClient; import com.red.circle.other.inner.endpoint.activity.PropsActivityClient;
import com.red.circle.other.inner.model.cmd.activity.SendActivityRewardCmd; 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.TimestampUtils;
import com.red.circle.tool.core.sequence.IdWorkerUtils; 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;
import com.red.circle.wallet.inner.model.enums.GoldOrigin;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -52,6 +58,8 @@ public class TaskListener implements MessageListener {
private final AdminTaskService adminTaskService; private final AdminTaskService adminTaskService;
private final UserTaskProgressDAO userTaskProgressDAO; private final UserTaskProgressDAO userTaskProgressDAO;
private final PropsActivityClient propsActivityCnfClient; private final PropsActivityClient propsActivityCnfClient;
private final UserInviteUserDAO userInviteUserDAO;
private final WalletGoldClient walletGoldClient;
@Override @Override
public Action consume(ConsumerMessage message) { public Action consume(ConsumerMessage message) {
@ -356,6 +364,45 @@ public class TaskListener implements MessageListener {
.setOrigin(SendPropsOrigin.DAILY_TASK_REWARD) .setOrigin(SendPropsOrigin.DAILY_TASK_REWARD)
); );
// 给邀请人和被邀请人发送金币奖励
handleInviteUserGold(eventBody.getUserId());
}
private void handleInviteUserGold(Long userId) {
List<UserInviteUser> allInvites = userInviteUserDAO.selectList(
new LambdaQueryWrapper<UserInviteUser>()
.eq(UserInviteUser::getInviteUserId, userId)
.orderByDesc(UserInviteUser::getCreateTime)
);
if (CollectionUtils.isEmpty(allInvites)) {
return;
}
UserInviteUser userInviteUser = allInvites.get(0);
// 金币奖励发给邀请人A 500
walletGoldClient.changeBalance(GoldReceiptCmd.builder()
.appIncome()
.userId(userInviteUser.getUserId())
.eventId(userInviteUser.getUserId())
.sysOrigin(userInviteUser.getSysOrigin())
.origin(GoldOrigin.INVITE_USER_REWARDS)
.originDescribe(GoldOrigin.INVITE_USER_REWARDS.getDesc())
.amount(BigDecimal.valueOf(500))
.build());
// 金币奖励发给邀请人B 450
walletGoldClient.changeBalance(GoldReceiptCmd.builder()
.appIncome()
.userId(userInviteUser.getInviteUserId())
.eventId(userInviteUser.getInviteUserId())
.sysOrigin(userInviteUser.getSysOrigin())
.origin(GoldOrigin.INVITE_USER_REWARDS)
.originDescribe(GoldOrigin.INVITE_USER_REWARDS.getDesc())
.amount(BigDecimal.valueOf(450))
.build());
} }
private void handleTask7(TaskApprovalEvent eventBody) { private void handleTask7(TaskApprovalEvent eventBody) {