fix 修改用户信息校验方法。

1. 校验用户名称是否唯一采用baseMapper.exists()方法判断是否存在。
2. 校验手机号码和校验email是否唯一,当存在userId时,sql查询条件才加上不等于当前userId。
This commit is contained in:
hewenqiang 2022-01-20 15:24:38 +08:00
parent dcf79d9119
commit 7306feb6ef

View File

@ -1,6 +1,7 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -146,8 +147,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public String checkUserNameUnique(String userName) {
long count = baseMapper.selectCount(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
if (count > 0) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
if (exist) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@ -161,11 +162,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public String checkPhoneUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
boolean count = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getPhonenumber, user.getPhonenumber())
.ne(SysUser::getUserId, userId));
if (count) {
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
if (exist) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@ -179,11 +179,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public String checkEmailUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
boolean count = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getEmail, user.getEmail())
.ne(SysUser::getUserId, userId));
if (count) {
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
if (exist) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;