邀请累计人数处理

This commit is contained in:
tianfeng 2025-10-22 17:30:46 +08:00
parent 642acf033d
commit f5a0969fdb

View File

@ -4,6 +4,7 @@ import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
import com.red.circle.other.infra.database.rds.dao.user.user.UserInviteUserDAO;
import com.red.circle.other.infra.database.rds.entity.user.user.InviteUserRechargeCommission;
import com.red.circle.other.infra.database.rds.entity.user.user.UserInviteUser;
import com.red.circle.tool.core.date.TimestampUtils;
import com.red.circle.other.domain.gateway.user.ability.InviteUserGateway;
@ -90,6 +91,23 @@ public class InviteUserGatewayImpl implements InviteUserGateway {
inviteUserSummaryService.incrCommission(userInviteUser.getUserId(), commission);
inviteUserRechargeCommissionService.add(sysOrigin, userInviteUser.getUserId(), userInviteUser.getInviteUserId(), commission);
// 累计邀请人数判断inviteUserRechargeCommissionService里是否已有该被邀请人的记录
// 查询该被邀请人在此之前是否有充值记录
long recordCount = inviteUserRechargeCommissionService.query()
.eq(InviteUserRechargeCommission::getUserId, userInviteUser.getUserId())
.eq(InviteUserRechargeCommission::getInviteUserId, userInviteUser.getInviteUserId())
.count();
// 如果记录数 < 1说明是首次充值当前这条刚插入才累计邀请人数+1
if (recordCount < 1) {
log.info("被邀请人首次充值,累计邀请人数+1, inviterUserId:{}, inviteUserId:{}",
userInviteUser.getUserId(), userInviteUser.getInviteUserId());
inviteUserSummaryService.incrUser(userInviteUser.getUserId(), 1);
} else {
log.info("被邀请人非首次充值,不累计邀请人数, inviterUserId:{}, inviteUserId:{}, recordCount:{}",
userInviteUser.getUserId(), userInviteUser.getInviteUserId(), recordCount);
}
awardCommission(sysOrigin, userInviteUser.getUserId(), commission, userInviteUser.getInviteUserId());
}