Переглянути джерело

bugfix:
系统管理-用户新建-用户昵称未设置长度校验、未设置唯一性校验

lihao16 5 місяців тому
батько
коміт
fb78513ab5

+ 4 - 0
smsb-modules/smsb-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@@ -163,6 +163,8 @@ public class SysUserController extends BaseController {
             return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
         } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
             return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        } else if (!userService.checkNickNameUnique(user)) {
+            return R.fail("新增用户'" + user.getUserName() + "'失败,用户昵称已存在");
         }
         if (TenantHelper.isEnable()) {
             if (!tenantService.checkAccountBalance(TenantHelper.getTenantId())) {
@@ -189,6 +191,8 @@ public class SysUserController extends BaseController {
             return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
         } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
             return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        } else if (!userService.checkNickNameUnique(user)) {
+            return R.fail("新增用户'" + user.getUserName() + "'失败,用户昵称已存在");
         }
         return toAjax(userService.updateUser(user));
     }

+ 8 - 0
smsb-modules/smsb-system/src/main/java/org/dromara/system/service/ISysUserService.java

@@ -99,6 +99,14 @@ public interface ISysUserService {
      */
     boolean checkUserNameUnique(SysUserBo user);
 
+    /**
+     * 校验用户名称是否唯一
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    boolean checkNickNameUnique(SysUserBo user);
+
     /**
      * 校验手机号码是否唯一
      *

+ 14 - 0
smsb-modules/smsb-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -239,6 +239,20 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
         return !exist;
     }
 
+    /**
+     * 校验用户名称是否唯一
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    @Override
+    public boolean checkNickNameUnique(SysUserBo user) {
+        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
+            .eq(SysUser::getNickName, user.getNickName())
+            .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
+        return !exist;
+    }
+
     /**
      * 校验手机号码是否唯一
      *

+ 1 - 1
smsb-plus-ui/src/views/system/user/index.vue

@@ -169,7 +169,7 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="用户昵称" prop="nickName">
-              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
+              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="15" />
             </el-form-item>
           </el-col>
           <el-col :span="12">