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