From 7306feb6ef771bce42a9df846284ad6f57efb45c Mon Sep 17 00:00:00 2001 From: hewenqiang <1527468660@qq.com> Date: 星期四, 20 一月 2022 15:24:38 +0800 Subject: [PATCH] fix 修改用户信息校验方法。 1. 校验用户名称是否唯一采用baseMapper.exists()方法判断是否存在。 2. 校验手机号码和校验email是否唯一,当存在userId时,sql查询条件才加上不等于当前userId。 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 23 +++++++++++------------ 1 files changed, 11 insertions(+), 12 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 856a5f9..1dbbf7a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -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; @@ -11,7 +12,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.service.UserService; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.LoginUtils; +import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.SysPost; @@ -146,8 +147,8 @@ */ @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 @@ */ @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 @@ */ @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; @@ -208,7 +207,7 @@ */ @Override public void checkUserDataScope(Long userId) { - if (!SysUser.isAdmin(LoginUtils.getUserId())) { + if (!SysUser.isAdmin(LoginHelper.getUserId())) { SysUser user = new SysUser(); user.setUserId(userId); List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); -- Gitblit v1.9.3