修复了用户注册bug
This commit is contained in:
@ -72,7 +72,7 @@ public class CourseController {
|
||||
// 降序排序并取前四个元素
|
||||
courseList = courseList.stream()
|
||||
.sorted((course1, course2) -> Integer.compare(course2.getOrderCount(), course1.getOrderCount())) // 降序排序
|
||||
.limit(4) // 取前四个元素
|
||||
.limit(6) // 取前六个元素
|
||||
.collect(Collectors.toList());
|
||||
List<CourseCardVO> courseCardVOS = commonService.convertList(courseList, CourseCardVO.class);
|
||||
return ResultUtils.success(courseCardVOS);
|
||||
|
@ -89,5 +89,12 @@ public class GlobalExceptionHandler {
|
||||
}
|
||||
|
||||
|
||||
@ExceptionHandler(RuntimeException.class)
|
||||
public BaseResponse<?> runtimeExceptionHandler(RuntimeException e) {
|
||||
log.error("RuntimeException", e);
|
||||
return ResultUtils.error(ErrorCode.SYSTEM_ERROR, "未知异常");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -39,10 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@ -186,13 +183,30 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
|
||||
userRoleMap.put(UserRoleEnum.STAFF, 2);
|
||||
userRoleMap.put(UserRoleEnum.SUPERVISOR, 3);
|
||||
userRoleMap.put(UserRoleEnum.MANAGER, 4);
|
||||
if (userRoleMap.get(parentUserRoleEnum) - userRoleMap.get(userRoleEnum) != 1 || UserRoleEnum.USER.equals(userRoleEnum) && UserRoleEnum.USER.equals(parentUserRoleEnum))
|
||||
int level = userRoleMap.get(parentUserRoleEnum) - userRoleMap.get(userRoleEnum);
|
||||
if (!(level == 1 || level == 0 && UserRoleEnum.USER.equals(userRoleEnum) && UserRoleEnum.USER.equals(parentUserRoleEnum)))
|
||||
throw new BusinessException(ErrorCode.OPERATION_ERROR, "邀请码错误");
|
||||
|
||||
// 保存用户
|
||||
UserInfo myUserInfo = commonService.copyProperties(userInfoRegisterRequest, UserInfo.class);
|
||||
myUserInfo.setParentUserId(parentUserInfo.getId());
|
||||
myUserInfo.setInvitationCode(RandomUtil.randomNumbers(6));
|
||||
// 获取唯一的邀请码
|
||||
LambdaQueryWrapper<UserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(UserInfo::getInvitationCode);
|
||||
lambdaQueryWrapper.in(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, UserConstant.STAFF_ROLE, UserConstant.SUPERVISOR_ROLE, UserConstant.MANAGER_ROLE);
|
||||
List<UserInfo> userInfos;
|
||||
String inviteCode;
|
||||
while (true) {
|
||||
String tempCode = RandomUtil.randomNumbers(6);
|
||||
userInfos = this.list(lambdaQueryWrapper);
|
||||
boolean exists = userInfos.stream()
|
||||
.anyMatch(u -> u.getInvitationCode().equals(tempCode));
|
||||
if (!exists) {
|
||||
inviteCode = tempCode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
myUserInfo.setInvitationCode(inviteCode);
|
||||
myUserInfo.setUserAccount(phoneNumber);
|
||||
myUserInfo.setUserRole(userRole);
|
||||
myUserInfo.setUserAvatar(UserConstant.USER_DEFAULT_AVATAR);
|
||||
@ -380,7 +394,8 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
|
||||
if (userInfo != null) {
|
||||
String userRole = userInfo.getUserRole();
|
||||
UserRoleEnum currentUserRoleEnum = UserRoleEnum.getEnumByValue(userRole);
|
||||
throw new BusinessException(ErrorCode.OPERATION_ERROR, "该手机号为"+ currentUserRoleEnum.getText() +"账号");
|
||||
if (!currentUserRoleEnum.equals(userRoleEnum)) throw new BusinessException(ErrorCode.OPERATION_ERROR, "该手机号为"+ currentUserRoleEnum.getText() +"账号");
|
||||
else throw new BusinessException(ErrorCode.OPERATION_ERROR, "该手机号已注册");
|
||||
}
|
||||
}
|
||||
String code = redisTemplate.opsForValue().get(SystemConstant.VERIFICATION_CODE + ":" + verificationCode);
|
||||
|
Reference in New Issue
Block a user