修复了用户注册bug
This commit is contained in:
@ -72,7 +72,7 @@ public class CourseController {
|
|||||||
// 降序排序并取前四个元素
|
// 降序排序并取前四个元素
|
||||||
courseList = courseList.stream()
|
courseList = courseList.stream()
|
||||||
.sorted((course1, course2) -> Integer.compare(course2.getOrderCount(), course1.getOrderCount())) // 降序排序
|
.sorted((course1, course2) -> Integer.compare(course2.getOrderCount(), course1.getOrderCount())) // 降序排序
|
||||||
.limit(4) // 取前四个元素
|
.limit(6) // 取前六个元素
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
List<CourseCardVO> courseCardVOS = commonService.convertList(courseList, CourseCardVO.class);
|
List<CourseCardVO> courseCardVOS = commonService.convertList(courseList, CourseCardVO.class);
|
||||||
return ResultUtils.success(courseCardVOS);
|
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.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -186,13 +183,30 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
|
|||||||
userRoleMap.put(UserRoleEnum.STAFF, 2);
|
userRoleMap.put(UserRoleEnum.STAFF, 2);
|
||||||
userRoleMap.put(UserRoleEnum.SUPERVISOR, 3);
|
userRoleMap.put(UserRoleEnum.SUPERVISOR, 3);
|
||||||
userRoleMap.put(UserRoleEnum.MANAGER, 4);
|
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, "邀请码错误");
|
throw new BusinessException(ErrorCode.OPERATION_ERROR, "邀请码错误");
|
||||||
|
|
||||||
// 保存用户
|
// 保存用户
|
||||||
UserInfo myUserInfo = commonService.copyProperties(userInfoRegisterRequest, UserInfo.class);
|
UserInfo myUserInfo = commonService.copyProperties(userInfoRegisterRequest, UserInfo.class);
|
||||||
myUserInfo.setParentUserId(parentUserInfo.getId());
|
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.setUserAccount(phoneNumber);
|
||||||
myUserInfo.setUserRole(userRole);
|
myUserInfo.setUserRole(userRole);
|
||||||
myUserInfo.setUserAvatar(UserConstant.USER_DEFAULT_AVATAR);
|
myUserInfo.setUserAvatar(UserConstant.USER_DEFAULT_AVATAR);
|
||||||
@ -380,7 +394,8 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
|
|||||||
if (userInfo != null) {
|
if (userInfo != null) {
|
||||||
String userRole = userInfo.getUserRole();
|
String userRole = userInfo.getUserRole();
|
||||||
UserRoleEnum currentUserRoleEnum = UserRoleEnum.getEnumByValue(userRole);
|
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);
|
String code = redisTemplate.opsForValue().get(SystemConstant.VERIFICATION_CODE + ":" + verificationCode);
|
||||||
|
Reference in New Issue
Block a user