fix bug 40253 用户管理--查询--用户姓名查询结果有误

This commit is contained in:
lijiarao
2021-10-11 17:32:34 +08:00
parent 355824ee91
commit df828a8606
3 changed files with 81 additions and 18 deletions
@@ -310,9 +310,12 @@ public class SysUserController {
user.setPhone(phone);
ValidUtil.validate(user);
//3:把数据加密在放回来
user.setEmail(PasswordUtil.encrypt(email));
user.setPhone(PasswordUtil.encrypt(phone));
user.setEmailPassword(PasswordUtil.encrypt(emailPassword));
email = PasswordUtil.encrypt(email);
emailPassword = PasswordUtil.encrypt(emailPassword);
phone = PasswordUtil.encrypt(phone);
user.setEmail(email);
user.setEmailPassword(emailPassword);
user.setPhone(phone);
if (!confirmPassword.equals(user.getPassword())) {
throw new JeroBootException("两次密码输入不一致");
}
@@ -322,6 +325,24 @@ public class SysUserController {
} catch (Exception e) {
throw new JeroBootException("解密失败!", e);
}
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUser::getUsername,user.getUsername());
wrapper.eq(SysUser::getDelFlag,0);
if (sysUserService.count(wrapper)>0) {
throw new JeroBootException("用户名已经存在");
}
LambdaQueryWrapper<SysUser> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SysUser::getPhone,phone);
wrapper1.eq(SysUser::getDelFlag,0);
if (sysUserService.count(wrapper1)>0) {
throw new JeroBootException("手机号已经存在");
}
LambdaQueryWrapper<SysUser> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(SysUser::getEmail,email);
wrapper2.eq(SysUser::getDelFlag,0);
if (sysUserService.count(wrapper2)>0) {
throw new JeroBootException("电子邮件已经存在");
}
//设置创建时间
user.setCreateTime(new Date());
String salt = oConvertUtils.randomGen(8);
@@ -366,9 +387,35 @@ public class SysUserController {
user.setPhone(phone);
ValidUtil.validate(user);
//3:把数据加密在放回来
user.setEmail(PasswordUtil.encrypt(email));
user.setPhone(PasswordUtil.encrypt(phone));
user.setEmailPassword(PasswordUtil.encrypt(emailPassword));
email = PasswordUtil.encrypt(email);
emailPassword = PasswordUtil.encrypt(emailPassword);
phone = PasswordUtil.encrypt(phone);
user.setEmail(email);
user.setEmailPassword(emailPassword);
user.setPhone(phone);
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUser::getUsername,user.getUsername());
wrapper.eq(SysUser::getDelFlag,0);
wrapper.ne(SysUser::getId,user.getId());
if (sysUserService.count(wrapper)>0) {
throw new JeroBootException("用户名已经存在");
}
LambdaQueryWrapper<SysUser> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SysUser::getPhone,phone);
wrapper1.eq(SysUser::getDelFlag,0);
wrapper.ne(SysUser::getId,user.getId());
if (sysUserService.count(wrapper1)>0) {
throw new JeroBootException("手机号已经存在");
}
LambdaQueryWrapper<SysUser> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(SysUser::getEmail,email);
wrapper2.eq(SysUser::getDelFlag,0);
wrapper.ne(SysUser::getId,user.getId());
if (sysUserService.count(wrapper2)>0) {
throw new JeroBootException("电子邮件已经存在");
}
user.setUpdateTime(new Date());
//String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
user.setPassword(sysUser.getPassword());
@@ -662,6 +709,7 @@ public class SysUserController {
* @return
*/
//@RequiresRoles({"admin"})
@Transactional(rollbackFor = Exception.class)
@RequiresPermissions("sys:user:import")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException {
@@ -700,25 +748,40 @@ public class SysUserController {
ValidUtil.validate(sysUserExcel);
//处理邮箱和手机号的加密
UserUtil.encryptUser(sysUserExcel);
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUser::getUsername,sysUserExcel.getUsername());
wrapper.eq(SysUser::getDelFlag,0);
if (sysUserService.count(wrapper)>0) {
errorLines++;
errorMessage.add("" + lineNumber + " 行:用户名已经存在。");
}
LambdaQueryWrapper<SysUser> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SysUser::getPhone,sysUserExcel.getPhone());
wrapper1.eq(SysUser::getDelFlag,0);
if (sysUserService.count(wrapper1)>0) {
errorLines++;
errorMessage.add("" + lineNumber + " 行:手机号已经存在。");
}
LambdaQueryWrapper<SysUser> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(SysUser::getEmail,sysUserExcel.getEmail());
wrapper2.eq(SysUser::getDelFlag,0);
if (sysUserService.count(wrapper2)>0) {
errorLines++;
errorMessage.add("" + lineNumber + " 行:电子邮件已经存在。");
}
sysUserService.save(sysUserExcel);
successLines++;
}catch (JeroBootException e) {
errorLines++;
errorMessage.add("" + lineNumber + " 行:" + e.getMessage());
} catch (Exception e) {
errorLines++;
//errorLines++;
String message = e.getMessage().toLowerCase();
// 通过索引名判断出错信息
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)) {
errorMessage.add("" + lineNumber + " 行:用户名已经存在,忽略导入");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
errorMessage.add("" + lineNumber + " 行:工号已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_PHONE)) {
errorMessage.add("" + lineNumber + " 行:手机号已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_EMAIL)) {
errorMessage.add("" + lineNumber + " 行:电子邮件已经存在,忽略导入。");
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
errorMessage.add("" + lineNumber + " 行:工号已经存在。");
} else {
errorMessage.add("" + lineNumber + " 行:未知错误,忽略导入");
errorMessage.add("" + lineNumber + " 行:未知错误");
log.error(e.getMessage(), e);
}
}
@@ -451,7 +451,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
public IPage<SysUserVo> queryPageListByRoleAndDepart(Page<SysUserVo> page, SysUser user, String roleId, String departId) {
user.setUsername(oConvertUtils.replaceAllPercent(user.getUsername()));
user.setRealname(oConvertUtils.replaceAllPercent(user.getRealname()));
return userMapper.queryPageListByRoleAndDepart(page, user,roleId,departId);
}