瀏覽代碼

fix 修改用户信息校验方法。
1. 校验用户名称是否唯一采用baseMapper.exists()方法判断是否存在。
2. 校验手机号码和校验email是否唯一,当存在userId时,sql查询条件才加上不等于当前userId。

hewenqiang 3 年之前
父節點
當前提交
7306feb6ef
共有 1 個文件被更改,包括 9 次插入10 次删除
  1. 9 10
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

+ 9 - 10
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -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));
-        if (count > 0) {
+        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
+        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 count = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
+        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
             .eq(SysUser::getPhonenumber, user.getPhonenumber())
             .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.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 count = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
+        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
             .eq(SysUser::getEmail, user.getEmail())
             .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.NOT_UNIQUE;
         }
         }
         return UserConstants.UNIQUE;
         return UserConstants.UNIQUE;