From 925219ebfda2a480df99ca06a13033c78ae8d81f Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 30 五月 2025 18:08:16 +0800 Subject: [PATCH] 权限管理+用户管理 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 119 insertions(+), 1 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 0aa82fb..ed505eb 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 @@ -2,8 +2,18 @@ import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import javax.validation.Validator; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.utils.sign.Md5Utils; +import com.ruoyi.system.pojo.dto.AddSysUserDTO; +import com.ruoyi.system.pojo.dto.EditSysUserDTO; +import com.ruoyi.system.pojo.vo.SysUserPageListVO; +import com.ruoyi.system.pojo.vo.SysUserVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -448,7 +458,7 @@ // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); // 删除用户与岗位表 - userPostMapper.deleteUserPostByUserId(userId); +// userPostMapper.deleteUserPostByUserId(userId); return userMapper.deleteUserById(userId); } @@ -547,4 +557,112 @@ } return successMsg.toString(); } + + @Override + public IPage<SysUserPageListVO> getSysUserPageList(IPage<SysUserPageListVO> page, String nickName, Integer phone, String status) { + return userMapper.getSysUserPageList(page,nickName,phone,status); + } + + @Override + public R<SysUserVO> getInfo(Long userId) { + return userMapper.getSysUserVO(userId); + } + + @Override + public void add(AddSysUserDTO dto) { + //检查手机号是否重复 + SysUser sysUser= userMapper.selectuserByPhone(dto.getPhonenumber()); + if (sysUser != null){ + throw new ServiceException("手机号重复"); + } + //部门是否存在 + SysDept sysDept = deptService.selectDeptById(dto.getDeptId()); + if (sysDept == null){ + throw new ServiceException("部门不存在"); + } + //角色是否存在 + SysRole sysRole = roleMapper.selectRoleById(dto.getRoleId()); + if (sysRole == null){ + throw new ServiceException("角色不存在"); + } + //手机号作为登录 + sysUser = new SysUser(); + sysUser.setUserName(dto.getPhonenumber()); + sysUser.setPhonenumber(dto.getPhonenumber()); + sysUser.setNickName(dto.getNickName()); + //后六位为默认密码 + sysUser.setPassword(SecurityUtils.encryptPassword(Md5Utils.hash(dto.getPhonenumber().substring(6,12)))); + sysUser.setStatus("0"); + sysUser.setDeptId(dto.getDeptId()); //添加用户-部门关系 + userMapper.insertUser(sysUser); + //添加用户-角色关系 + userRoleMapper.insert(sysUser.getUserId(),dto.getRoleId()); + } + + @Override + public void edit(EditSysUserDTO dto) { + //检查用户是否存在 + SysUser sysUser = userMapper.selectUserById(dto.getUserId()); + if (sysUser==null){ + throw new ServiceException("该用户不存在"); + } + + if (!Objects.equals(dto.getPhonenumber(), sysUser.getPhonenumber())){ + //修改手机号 + //检查手机号是否重复 + SysUser phoneUser= userMapper.selectuserByPhone(dto.getPhonenumber()); + if (phoneUser != null){ + throw new ServiceException("手机号重复"); + } + sysUser.setPhonenumber(dto.getPhonenumber()); + sysUser.setUserName(dto.getPhonenumber()); + } + + if (!Objects.equals(dto.getDeptId(), sysUser.getDeptId())){ + //部门是否存在 + SysDept sysDept = deptService.selectDeptById(dto.getDeptId()); + if (sysDept == null){ + throw new ServiceException("部门不存在"); + } + sysUser.setDeptId(dto.getDeptId()); + } + + SysRole sysRole= userRoleMapper.selectRoleByUserId(dto.getUserId()); + if (!Objects.equals(sysRole.getRoleId(), dto.getRoleId())){ + //角色是否存在 + SysRole selectRole = roleMapper.selectRoleById(dto.getRoleId()); + if (selectRole == null){ + throw new ServiceException("角色不存在"); + } + sysUser.setRoleId(dto.getRoleId()); + //修改用户-角色关系 + userRoleMapper.deleteUserRoleByUserId(dto.getUserId()); + userRoleMapper.insert(sysUser.getUserId(),dto.getRoleId()); + } + sysUser.setNickName(dto.getNickName()); + userMapper.updateUser(sysUser); + } + + @Override + public void changeStatus(Long userId) { + //检查用户是否存在 + SysUser sysUser = userMapper.selectUserById(userId); + if (sysUser==null){ + throw new ServiceException("该用户不存在"); + } + sysUser.setStatus(Objects.equals(sysUser.getStatus(), "1") ?"0":"1"); + userMapper.updateUser(sysUser); + } + + @Override + public void resetPassword(Long userId) { + //重置密码 + //检查用户是否存在 + SysUser sysUser = userMapper.selectUserById(userId); + if (sysUser==null){ + throw new ServiceException("该用户不存在"); + } + sysUser.setPassword(SecurityUtils.encryptPassword(Md5Utils.hash(sysUser.getPassword().substring(6,12)))); + userMapper.updateUser(sysUser); + } } -- Gitblit v1.7.1