mirror of
https://gitee.com/republicline/rax-remote-v2.git
synced 2025-08-24 04:04:57 +08:00
fix: 修复前台注册和后台添加用户的冲突
This commit is contained in:
parent
14167a0343
commit
ef57152bfb
|
@ -53,7 +53,8 @@ public class UserDTO extends SysUser {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "UserDTO{" +
|
String string = super.toString();
|
||||||
|
return string + "UserDTO{" +
|
||||||
"userId=" + getUserId() + '\'' +
|
"userId=" + getUserId() + '\'' +
|
||||||
", username='" + getUsername() + '\'' +
|
", username='" + getUsername() + '\'' +
|
||||||
"role=" + role +
|
"role=" + role +
|
||||||
|
|
|
@ -35,6 +35,7 @@ public class SysRegisterController {
|
||||||
@SysLog("注册用户")
|
@SysLog("注册用户")
|
||||||
@PostMapping("/user")
|
@PostMapping("/user")
|
||||||
public R<Boolean> registerUser(@RequestBody UserDTO userDto) {
|
public R<Boolean> registerUser(@RequestBody UserDTO userDto) {
|
||||||
|
System.out.println("reigster-UserDto = " + userDto);
|
||||||
return userService.registerUser(userDto);
|
return userService.registerUser(userDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -141,6 +141,7 @@ public class SysUserController {
|
||||||
if (!accountMatches) {
|
if (!accountMatches) {
|
||||||
return R.failed("用户名至少2~16位字母或数字(区分大小写)");
|
return R.failed("用户名至少2~16位字母或数字(区分大小写)");
|
||||||
}
|
}
|
||||||
|
System.out.println("addUser = " + userDto);
|
||||||
return R.ok(userService.saveUser(userDto));
|
return R.ok(userService.saveUser(userDto));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,4 +128,11 @@ public interface SysUserService extends IService<SysUser> {
|
||||||
|
|
||||||
Map getCountByDate(String startTime, String endTime);
|
Map getCountByDate(String startTime, String endTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 此函数用于前台注册用户
|
||||||
|
* @param userDto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean regUser(UserDTO userDto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
*
|
*
|
||||||
* @param userDto DTO 对象
|
* @param userDto DTO 对象
|
||||||
* @return success/fail
|
* @return success/fail
|
||||||
|
* 此保存用于后台添加用户信息.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@ -137,6 +138,55 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param userDto DTO 对象
|
||||||
|
* @return success/fail
|
||||||
|
* 此保存用于前台注册用户信息.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean regUser(UserDTO userDto) {
|
||||||
|
SysUser sysUser = new SysUser();
|
||||||
|
BeanUtils.copyProperties(userDto, sysUser);
|
||||||
|
sysUser.setDelFlag(CommonConstants.STATUS_NORMAL);
|
||||||
|
sysUser.setCreateBy(userDto.getUsername());
|
||||||
|
sysUser.setPassword(ENCODER.encode(userDto.getPassword()));
|
||||||
|
|
||||||
|
sysUser.setHospitalId(userDto.getHospitalId());
|
||||||
|
|
||||||
|
baseMapper.insert(sysUser);
|
||||||
|
// 保存用户岗位信息
|
||||||
|
Optional.ofNullable(userDto.getPost()).ifPresent(posts -> {
|
||||||
|
posts.stream().map(postId -> {
|
||||||
|
SysUserPost userPost = new SysUserPost();
|
||||||
|
userPost.setUserId(sysUser.getUserId());
|
||||||
|
userPost.setPostId(postId);
|
||||||
|
return userPost;
|
||||||
|
}).forEach(sysUserPostMapper::insert);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 如果角色为空,赋默认角色
|
||||||
|
if (CollUtil.isEmpty(userDto.getRole())) {
|
||||||
|
// 获取默认角色编码
|
||||||
|
String defaultRole = ParamResolver.getStr("USER_DEFAULT_ROLE");
|
||||||
|
// 默认角色
|
||||||
|
SysRole sysRole = sysRoleService
|
||||||
|
.getOne(Wrappers.<SysRole>lambdaQuery().eq(SysRole::getRoleCode, defaultRole));
|
||||||
|
userDto.setRole(Collections.singletonList(sysRole.getRoleId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 插入用户角色关系表
|
||||||
|
userDto.getRole().stream().map(roleId -> {
|
||||||
|
SysUserRole userRole = new SysUserRole();
|
||||||
|
userRole.setUserId(sysUser.getUserId());
|
||||||
|
userRole.setRoleId(roleId);
|
||||||
|
return userRole;
|
||||||
|
}).forEach(sysUserRoleMapper::insert);
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过查用户的全部信息
|
* 通过查用户的全部信息
|
||||||
*
|
*
|
||||||
|
@ -448,6 +498,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
return R.failed("用户名至少2~16位字母或数字(区分大小写)");
|
return R.failed("用户名至少2~16位字母或数字(区分大小写)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (userDto.getHospitalId() == null) {
|
||||||
|
return R.failed("请选择医院");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询所有医院ID
|
||||||
|
List<Long> hospitalIdList = sysHospitalService.list()
|
||||||
|
.stream()
|
||||||
|
.map(SysHospital::getId).toList();
|
||||||
|
if (!hospitalIdList.contains(userDto.getHospitalId())) {
|
||||||
|
return R.failed("医院不存在");
|
||||||
|
}
|
||||||
|
|
||||||
// 判断用户名是否存在
|
// 判断用户名是否存在
|
||||||
SysUser sysUser = this.getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, userDto.getUsername()));
|
SysUser sysUser = this.getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, userDto.getUsername()));
|
||||||
|
@ -455,7 +516,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
String message = MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, userDto.getUsername());
|
String message = MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, userDto.getUsername());
|
||||||
return R.failed(message);
|
return R.failed(message);
|
||||||
}
|
}
|
||||||
return R.ok(saveUser(userDto));
|
return R.ok(regUser(userDto));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user