From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 一月 2025 16:40:43 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java | 292 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 231 insertions(+), 61 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java index 30ca47e..e5e799d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java @@ -1,73 +1,81 @@ package com.ruoyi.system.service.impl.sys; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; -import javax.validation.Validator; - -import com.ruoyi.system.api.domain.dto.AppEditUserDto; -import com.ruoyi.system.api.domain.poji.member.Member; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanValidators; import com.ruoyi.common.datascope.annotation.DataScope; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.domain.dto.AppEditUserDto; +import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; +import com.ruoyi.system.api.domain.dto.MgtFrozenMemberDto; +import com.ruoyi.system.api.domain.dto.MgtUserIdByDept; import com.ruoyi.system.api.domain.poji.sys.SysRole; import com.ruoyi.system.api.domain.poji.sys.SysUser; +import com.ruoyi.system.api.domain.vo.MgtSysSimpleUserVo; +import com.ruoyi.system.domain.dto.UserMenuEditDto; import com.ruoyi.system.domain.pojo.sys.SysPost; +import com.ruoyi.system.domain.pojo.sys.SysUserMenu; import com.ruoyi.system.domain.pojo.sys.SysUserPost; import com.ruoyi.system.domain.pojo.sys.SysUserRole; -import com.ruoyi.system.mapper.sys.SysPostMapper; -import com.ruoyi.system.mapper.sys.SysRoleMapper; -import com.ruoyi.system.mapper.sys.SysUserMapper; -import com.ruoyi.system.mapper.sys.SysUserPostMapper; -import com.ruoyi.system.mapper.sys.SysUserRoleMapper; +import com.ruoyi.system.mapper.sys.*; import com.ruoyi.system.service.sys.ISysConfigService; import com.ruoyi.system.service.sys.ISysUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.validation.Validator; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; /** * 用户 业务层处理 - * + * * @author jqs */ @Service -public class SysUserServiceImpl implements ISysUserService +public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService { private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); - @Autowired + @Resource private SysUserMapper userMapper; - @Autowired + @Resource private SysRoleMapper roleMapper; - @Autowired + @Resource private SysPostMapper postMapper; - @Autowired + @Resource private SysUserRoleMapper userRoleMapper; - @Autowired + @Resource private SysUserPostMapper userPostMapper; - @Autowired + @Resource private ISysConfigService configService; - @Autowired + @Resource protected Validator validator; + + @Resource + protected SysUserMenuMapper userMenuMapper; + + /** * 根据条件分页查询用户列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -78,9 +86,25 @@ return userMapper.selectUserList(user); } + @Override + public SysUser selectUserByPhoneNumber(String phoneNumber,String userType) { + SysUser sysUser = new SysUser(); + sysUser.setPhonenumber(phoneNumber); + List<SysUser> userList = this.selectUserList(sysUser); + SysUser queryUser = null; + if(!userList.isEmpty()){ + for(SysUser sysUser1 : userList){ + if(sysUser1.getUserType().equals(userType)){ + queryUser = sysUser1; + } + } + } + return queryUser; + } + /** * 根据条件分页查询已分配用户角色列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -93,7 +117,7 @@ /** * 根据条件分页查询未分配用户角色列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -106,7 +130,7 @@ /** * 通过用户名查询用户 - * + * * @param userName 用户名 * @return 用户对象信息 */ @@ -118,7 +142,7 @@ /** * 通过用户ID查询用户 - * + * * @param userId 用户ID * @return 用户对象信息 */ @@ -130,7 +154,7 @@ /** * 查询用户所属角色组 - * + * * @param userName 用户名 * @return 结果 */ @@ -147,7 +171,7 @@ /** * 查询用户所属岗位组 - * + * * @param userName 用户名 * @return 结果 */ @@ -164,7 +188,7 @@ /** * 校验用户名称是否唯一 - * + * * @param user 用户信息 * @return 结果 */ @@ -218,7 +242,7 @@ /** * 校验用户是否允许操作 - * + * * @param user 用户信息 */ @Override @@ -232,7 +256,7 @@ /** * 校验用户是否有数据权限 - * + * * @param userId 用户id */ @Override @@ -252,7 +276,7 @@ /** * 新增保存用户信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -271,19 +295,32 @@ /** * 注册用户信息 - * + * * @param user 用户信息 * @return 结果 */ @Override - public boolean registerUser(SysUser user) + public SysUser registerUser(SysUser user) { - return userMapper.insertUser(user) > 0; + int id = userMapper.insertUser(user); + log.info("user------------------"+user.toString()); + return user; + } + + /** + * + * @param mobile + * @return + */ + @Override + public SysUser getSysUserByMobile(String mobile){ + SysUser sysUser = this.selectUserByPhoneNumber(mobile,"00"); + return sysUser; } /** * 修改保存用户信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -305,7 +342,7 @@ /** * 用户授权角色 - * + * * @param userId 用户ID * @param roleIds 角色组 */ @@ -319,7 +356,7 @@ /** * 修改用户状态 - * + * * @param user 用户信息 * @return 结果 */ @@ -331,7 +368,7 @@ /** * 修改用户基本信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -343,7 +380,7 @@ /** * 修改用户头像 - * + * * @param userName 用户名 * @param avatar 头像地址 * @return 结果 @@ -356,7 +393,7 @@ /** * 重置用户密码 - * + * * @param user 用户信息 * @return 结果 */ @@ -368,7 +405,7 @@ /** * 重置用户密码 - * + * * @param userName 用户名 * @param password 密码 * @return 结果 @@ -381,7 +418,7 @@ /** * 新增用户角色信息 - * + * * @param user 用户对象 */ public void insertUserRole(SysUser user) @@ -391,7 +428,7 @@ /** * 新增用户岗位信息 - * + * * @param user 用户对象 */ public void insertUserPost(SysUser user) @@ -414,7 +451,7 @@ /** * 新增用户角色信息 - * + * * @param userId 用户ID * @param roleIds 角色组 */ @@ -437,7 +474,7 @@ /** * 通过用户ID删除用户 - * + * * @param userId 用户ID * @return 结果 */ @@ -454,7 +491,7 @@ /** * 批量删除用户信息 - * + * * @param userIds 需要删除的用户ID * @return 结果 */ @@ -476,7 +513,7 @@ /** * 导入用户数据 - * + * * @param userList 用户数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @param operName 操作用户 @@ -572,28 +609,161 @@ String editValue = appEditUserDto.getEditValue(); switch (editType){ case 1: - sysUser.setNickName(editValue); - sysUser.setUpdateTime(new Date()); - sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); - userMapper.updateUser(sysUser); break; case 2: sysUser.setAvatar(editValue); - sysUser.setUpdateTime(new Date()); + sysUser.setUpdateTime(DateUtils.getNowDate()); sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); userMapper.updateUser(sysUser); break; case 3: sysUser.setSex(editValue); - sysUser.setUpdateTime(new Date()); + sysUser.setUpdateTime(DateUtils.getNowDate()); sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); userMapper.updateUser(sysUser); break; case 4: break; + case 5: + sysUser.setNickName(editValue); + sysUser.setUpdateTime(DateUtils.getNowDate()); + sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); + userMapper.updateUser(sysUser); + break; default: break; } } + + + /** + * @description 获取部门用户 + * @author jqs + * @date 2023/6/21 16:00 + * @param userIdByDept + * @return MgtUserIdByDept + */ + @Override + public MgtUserIdByDept getUserIdByDept(MgtUserIdByDept userIdByDept){ + List<Long> userIdList = userMapper.getUserIdByDept(userIdByDept); + userIdByDept.setUserIdList(userIdList); + return userIdByDept; + } + + /** + * @description + * @author jqs + * @date 2023/6/25 14:35 + * @param mgtBaseBathDto + * @return List<MgtSysSimpleUserVo> + */ + @Override + public List<MgtSysSimpleUserVo> listSimpleUserVo(MgtBaseBathDto mgtBaseBathDto){ + return userMapper.listSimpleUserVo(mgtBaseBathDto.getIds()); + } + + /** + * @description + * @author jqs + * @date 2023/6/25 16:37 + * @param userMenuEditDto + * @return void + */ + @Override + public void editUserMenu(UserMenuEditDto userMenuEditDto){ + SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId()); + sysUser.setDataScope(userMenuEditDto.getDataScope()); + sysUser.setDataScopeEmployee(userMenuEditDto.getDataScopeEmployee()); + userMapper.updateUser(sysUser); + userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId()); + int rows = 1; + // 新增用户与角色管理 + List<SysUserMenu> list = new ArrayList<SysUserMenu>(); + for (Long menuId : userMenuEditDto.getMenuIds()) + { + SysUserMenu rm = new SysUserMenu(); + rm.setUserId(userMenuEditDto.getUserId()); + rm.setMenuId(menuId); + rm.setMenuFrom(1); + list.add(rm); + } + for(Long menuId : userMenuEditDto.getStaffMenuIds()){ + SysUserMenu rm = new SysUserMenu(); + rm.setUserId(userMenuEditDto.getUserId()); + rm.setMenuId(menuId); + rm.setMenuFrom(2); + list.add(rm); + } + if (list.size() > 0) + { + rows = userMenuMapper.batchUserMenu(list); + } + } + + /** + * @description + * @author jqs + * @date 2023/6/26 10:36 + * @param sysUser + * @return void + */ + @Override + public void updateOnlyUser(SysUser sysUser){ + userMapper.updateUser(sysUser); + } + + /** + * @description + * @author jqs + * @date 2023/7/5 21:24 + * @param mgtFrozenMemberDto + * @return void + */ + @Override + public void frozenUser(MgtFrozenMemberDto mgtFrozenMemberDto){ + Long userId = mgtFrozenMemberDto.getId(); + SysUser sysUser = this.selectUserById(userId); + if(mgtFrozenMemberDto.getFrozenFlag()==1){ + sysUser.setStatus("1"); + }else{ + sysUser.setStatus("0"); + } + userMapper.updateUser(sysUser); + } + + + /** + * 获取当前员工权限范围内的员工id + * @return + */ + @Override + public List<Long> getScopeOfAuthorityUserId() { + List<Long> userIds = new ArrayList<>(); + Long userId = SecurityUtils.getUserId(); + SysUser user = this.baseMapper.selectUserById(userId); + String dataScope = user.getDataScope(); + //没有配置默认查询自己 + if(!SecurityUtils.isAdmin(userId) && StringUtils.isEmpty(dataScope)){ + userIds.add(userId); + } + //管理员或者全部权限 + if(SecurityUtils.isAdmin(userId) || (StringUtils.isNotEmpty(dataScope) && "1".equals(dataScope))){ + return null; + } + //部分权限 + if(StringUtils.isNotEmpty(dataScope) && "3".equals(dataScope)){ + SysUser user1 = new SysUser(); + user1.setUserType("00"); + user1.setStatus("0"); + user1.setDeptId(user.getDeptId()); + List<SysUser> list = this.baseMapper.selectUserList(user1); + userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); + } + //个人权限 + if(StringUtils.isNotEmpty(dataScope) && "5".equals(dataScope)){ + userIds.add(userId); + } + return userIds; + } } -- Gitblit v1.7.1