修复了接口(小程序用户查询团队信息)中团队总人数和团队总收益属性为null的bug,以及用户注册接口

This commit is contained in:
chen-xin-zhi 2025-06-04 00:20:09 +08:00
parent 42028b6eab
commit f2b183dbe2
3 changed files with 15 additions and 3 deletions

View File

@ -31,6 +31,7 @@ import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -81,6 +82,7 @@ public class UserMainInfoController {
userMainInfoMap.put(userMainInfo.getUserId(), userMainInfo); userMainInfoMap.put(userMainInfo.getUserId(), userMainInfo);
} }
List<UserMemberInfoVO> userMemberInfoVOList = new ArrayList<>(); List<UserMemberInfoVO> userMemberInfoVOList = new ArrayList<>();
BigDecimal totalEarnings = BigDecimal.ZERO;
for (UserInfo userInfo : userInfoList) { for (UserInfo userInfo : userInfoList) {
Long id = userInfo.getId(); Long id = userInfo.getId();
UserInfo userInformation = userInfoMap.get(id); UserInfo userInformation = userInfoMap.get(id);
@ -94,14 +96,17 @@ public class UserMainInfoController {
.registerTime(userInformation.getCreateTime()) .registerTime(userInformation.getCreateTime())
.build(); .build();
userMemberInfoVOList.add(userMemberInfoVO); userMemberInfoVOList.add(userMemberInfoVO);
totalEarnings = totalEarnings.add(userMainInfo.getParentEarnings());
} }
UserInfo userInfo = userInfoService.getById(userId); UserInfo userInfo = userInfoService.getById(userId);
UserTeamInfoVO userTeamInfoVO = commonService.copyProperties(userInfo, UserTeamInfoVO.class); UserTeamInfoVO userTeamInfoVO = commonService.copyProperties(userInfo, UserTeamInfoVO.class);
userTeamInfoVO.setDirectAgentSize(userInfoList.size()); userTeamInfoVO.setDirectAgentSize(userInfoList.size());
userTeamInfoVO.setTeamEarnings(totalEarnings);
LambdaQueryWrapper<UserMainInfo> userMainInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<UserMainInfo> userMainInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
userMainInfoLambdaQueryWrapper.eq(UserMainInfo::getUserId, userId); userMainInfoLambdaQueryWrapper.eq(UserMainInfo::getUserId, userId);
UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper); UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper);
userTeamInfoVO.setTeamSize(userMainInfo.getTeamSize());
userTeamInfoVO.setInviteQrCode(userMainInfo.getInviteQrCode()); userTeamInfoVO.setInviteQrCode(userMainInfo.getInviteQrCode());
userTeamInfoVO.setUserMemberInfoVOList(userMemberInfoVOList); userTeamInfoVO.setUserMemberInfoVOList(userMemberInfoVOList);

View File

@ -142,11 +142,10 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
String invitationCode = userInfoRegisterRequest.getInvitationCode(); String invitationCode = userInfoRegisterRequest.getInvitationCode();
LambdaQueryWrapper<UserInfo> invitedLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<UserInfo> invitedLambdaQueryWrapper = new LambdaQueryWrapper<>();
invitedLambdaQueryWrapper.eq(UserInfo::getInvitationCode, invitationCode); invitedLambdaQueryWrapper.eq(UserInfo::getInvitationCode, invitationCode).eq(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE);
UserInfo parentUserInfo = this.getOne(invitedLambdaQueryWrapper); UserInfo parentUserInfo = this.getOne(invitedLambdaQueryWrapper);
ThrowUtils.throwIf(parentUserInfo == null, ErrorCode.OPERATION_ERROR, "邀请码错误"); ThrowUtils.throwIf(parentUserInfo == null, ErrorCode.OPERATION_ERROR, "邀请码错误");
UserInfo myUserInfo = commonService.copyProperties(userInfoRegisterRequest, UserInfo.class); UserInfo myUserInfo = commonService.copyProperties(userInfoRegisterRequest, UserInfo.class);
// 判断当前用户是否是根节点 // 判断当前用户是否是根节点
List<UserInfo> userInfoList = commonService.findByFieldEqTargetField(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, this); List<UserInfo> userInfoList = commonService.findByFieldEqTargetField(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, this);
@ -160,6 +159,14 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
UserMainInfo userMainInfo = new UserMainInfo(); UserMainInfo userMainInfo = new UserMainInfo();
userMainInfo.setUserId(myUserInfo.getId()); userMainInfo.setUserId(myUserInfo.getId());
// 批量更新父级用户团队人数
List<Long> pathToRoot = this.findPathToRoot(myUserInfo.getId());
List<UserMainInfo> userMainInfoList = commonService.findByFieldInTargetField(pathToRoot, userMainInfoService, id -> id, UserMainInfo::getUserId);
for (UserMainInfo mainInfo : userMainInfoList) {
mainInfo.setTeamSize(mainInfo.getTeamSize() + 1);
}
userMainInfoService.updateBatchById(userMainInfoList);
// 生成邀请二维码 // 生成邀请二维码
try { try {
String view = wechatGetQrcodeService.getWxQrCode(myUserInfo.getInvitationCode()); String view = wechatGetQrcodeService.getWxQrCode(myUserInfo.getInvitationCode());

View File

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: dev active: test