|
@@ -258,14 +258,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
if (Objects.isNull(sysUser.getId())) {//新增用户
|
|
if (Objects.isNull(sysUser.getId())) {//新增用户
|
|
// 登录名是否唯一
|
|
// 登录名是否唯一
|
|
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
- if(Objects.isNull(schoolId)){
|
|
|
|
|
|
+ if (Objects.isNull(schoolId)) {
|
|
queryWrapper.lambda().isNull(SysUser::getSchoolId);
|
|
queryWrapper.lambda().isNull(SysUser::getSchoolId);
|
|
} else {
|
|
} else {
|
|
queryWrapper.lambda().eq(SysUser::getSchoolId, schoolId);
|
|
queryWrapper.lambda().eq(SysUser::getSchoolId, schoolId);
|
|
}
|
|
}
|
|
queryWrapper.lambda().eq(SysUser::getLoginName, sysUser.getLoginName());
|
|
queryWrapper.lambda().eq(SysUser::getLoginName, sysUser.getLoginName());
|
|
SysUser user = sysUserService.getOne(queryWrapper);
|
|
SysUser user = sysUserService.getOne(queryWrapper);
|
|
- if(user != null){
|
|
|
|
|
|
+ if (user != null) {
|
|
throw ExceptionResultEnum.ERROR.exception("用户名已存在");
|
|
throw ExceptionResultEnum.ERROR.exception("用户名已存在");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -282,7 +282,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
SysUser dbUser = sysUserService.getById(sysUser.getId());
|
|
SysUser dbUser = sysUserService.getById(sysUser.getId());
|
|
sysUser.setUpdateInfo(requestUser.getId());
|
|
sysUser.setUpdateInfo(requestUser.getId());
|
|
sysUserService.updateById(sysUser);
|
|
sysUserService.updateById(sysUser);
|
|
- if (count == 0 || dbUserRolesList.size() != userRolesList.size()) {
|
|
|
|
|
|
+ List<SysRole> list = sysUserRoleService.listRoleByUserId(sysUser.getId());
|
|
|
|
+ boolean containsQuestionTeacher = list.stream().filter(m -> RoleTypeEnum.SCHOOL_ADMIN.equals(m.getType())).count() > 0;
|
|
|
|
+ if (containsQuestionTeacher || count == 0 || dbUserRolesList.size() != userRolesList.size()) {
|
|
QueryWrapper<SysUserRole> sysUserRoleQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<SysUserRole> sysUserRoleQueryWrapper = new QueryWrapper<>();
|
|
sysUserRoleQueryWrapper.lambda().eq(SysUserRole::getUserId, sysUser.getId());
|
|
sysUserRoleQueryWrapper.lambda().eq(SysUserRole::getUserId, sysUser.getId());
|
|
sysUserRoleService.remove(sysUserRoleQueryWrapper);
|
|
sysUserRoleService.remove(sysUserRoleQueryWrapper);
|
|
@@ -297,7 +299,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
commonService.removeUserInfo(sysUser.getId());
|
|
commonService.removeUserInfo(sysUser.getId());
|
|
}
|
|
}
|
|
//如果修改了机构或手机号,需更新用户缓存
|
|
//如果修改了机构或手机号,需更新用户缓存
|
|
- if (dbUser.getOrgId().longValue() != sysUser.getOrgId().longValue()
|
|
|
|
|
|
+ if (containsQuestionTeacher || dbUser.getOrgId().longValue() != sysUser.getOrgId().longValue()
|
|
|| !Objects.equals(dbUser.getMobileNumber(), sysUser.getMobileNumber())) {
|
|
|| !Objects.equals(dbUser.getMobileNumber(), sysUser.getMobileNumber())) {
|
|
cacheService.updateUserCache(sysUser.getId());
|
|
cacheService.updateUserCache(sysUser.getId());
|
|
cacheService.updateUserAuthCache(sysUser.getId());
|
|
cacheService.updateUserAuthCache(sysUser.getId());
|