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 | 69 +++++++++++++++------------------- 1 files changed, 31 insertions(+), 38 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 a31b43a..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; @@ -8,11 +9,10 @@ import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; 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.SecurityUtils; +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; @@ -20,8 +20,8 @@ import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.*; import com.ruoyi.system.service.ISysUserService; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -36,20 +36,15 @@ * @author Lion Li */ @Slf4j +@RequiredArgsConstructor @Service -public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser, SysUser> implements ISysUserService, UserService { +public class SysUserServiceImpl implements ISysUserService, UserService { - @Autowired - private SysRoleMapper roleMapper; - - @Autowired - private SysPostMapper postMapper; - - @Autowired - private SysUserRoleMapper userRoleMapper; - - @Autowired - private SysUserPostMapper userPostMapper; + private final SysUserMapper baseMapper; + private final SysRoleMapper roleMapper; + private final SysPostMapper postMapper; + private final SysUserRoleMapper userRoleMapper; + private final SysUserPostMapper userPostMapper; @Override public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) { @@ -152,8 +147,8 @@ */ @Override public String checkUserNameUnique(String userName) { - long count = count(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; @@ -167,11 +162,10 @@ */ @Override public String checkPhoneUnique(SysUser user) { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - long count = count(new LambdaQueryWrapper<SysUser>() - .eq(SysUser::getPhonenumber, user.getPhonenumber()) - .ne(SysUser::getUserId, userId)); - if (count > 0) { + boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>() + .eq(SysUser::getPhonenumber, user.getPhonenumber()) + .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); + if (exist) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -185,11 +179,10 @@ */ @Override public String checkEmailUnique(SysUser user) { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - long count = count(new LambdaQueryWrapper<SysUser>() - .eq(SysUser::getEmail, user.getEmail()) - .ne(SysUser::getUserId, userId)); - if (count > 0) { + boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>() + .eq(SysUser::getEmail, user.getEmail()) + .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); + if (exist) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -214,7 +207,7 @@ */ @Override public void checkUserDataScope(Long userId) { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) { + if (!SysUser.isAdmin(LoginHelper.getUserId())) { SysUser user = new SysUser(); user.setUserId(userId); List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); @@ -284,7 +277,7 @@ @Transactional(rollbackFor = Exception.class) public void insertUserAuth(Long userId, Long[] roleIds) { userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>() - .eq(SysUserRole::getUserId, userId)); + .eq(SysUserRole::getUserId, userId)); insertUserRole(userId, roleIds); } @@ -320,9 +313,9 @@ @Override public boolean updateUserAvatar(String userName, String avatar) { return baseMapper.update(null, - new LambdaUpdateWrapper<SysUser>() - .set(SysUser::getAvatar, avatar) - .eq(SysUser::getUserName, userName)) > 0; + new LambdaUpdateWrapper<SysUser>() + .set(SysUser::getAvatar, avatar) + .eq(SysUser::getUserName, userName)) > 0; } /** @@ -346,9 +339,9 @@ @Override public int resetUserPwd(String userName, String password) { return baseMapper.update(null, - new LambdaUpdateWrapper<SysUser>() - .set(SysUser::getPassword, password) - .eq(SysUser::getUserName, userName)); + new LambdaUpdateWrapper<SysUser>() + .set(SysUser::getPassword, password) + .eq(SysUser::getUserName, userName)); } /** @@ -368,7 +361,7 @@ list.add(ur); } if (list.size() > 0) { - userRoleMapper.insertAll(list); + userRoleMapper.insertBatch(list); } } } @@ -390,7 +383,7 @@ list.add(up); } if (list.size() > 0) { - userPostMapper.insertAll(list); + userPostMapper.insertBatch(list); } } } @@ -412,7 +405,7 @@ list.add(ur); } if (list.size() > 0) { - userRoleMapper.insertAll(list); + userRoleMapper.insertBatch(list); } } } -- Gitblit v1.9.3