diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/user/InviteUserGatewayImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/user/InviteUserGatewayImpl.java index 80c2f29c..add3c9af 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/user/InviteUserGatewayImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/user/InviteUserGatewayImpl.java @@ -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()); }