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 |  314 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 263 insertions(+), 51 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 50974a7..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,69 +1,81 @@
 package com.ruoyi.system.service.impl.sys;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import javax.validation.Validator;
-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 用户信息集合信息
      */
@@ -74,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 用户信息集合信息
      */
@@ -89,7 +117,7 @@
 
     /**
      * 根据条件分页查询未分配用户角色列表
-     * 
+     *
      * @param user 用户信息
      * @return 用户信息集合信息
      */
@@ -102,7 +130,7 @@
 
     /**
      * 通过用户名查询用户
-     * 
+     *
      * @param userName 用户名
      * @return 用户对象信息
      */
@@ -114,7 +142,7 @@
 
     /**
      * 通过用户ID查询用户
-     * 
+     *
      * @param userId 用户ID
      * @return 用户对象信息
      */
@@ -126,7 +154,7 @@
 
     /**
      * 查询用户所属角色组
-     * 
+     *
      * @param userName 用户名
      * @return 结果
      */
@@ -143,7 +171,7 @@
 
     /**
      * 查询用户所属岗位组
-     * 
+     *
      * @param userName 用户名
      * @return 结果
      */
@@ -160,7 +188,7 @@
 
     /**
      * 校验用户名称是否唯一
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -214,7 +242,7 @@
 
     /**
      * 校验用户是否允许操作
-     * 
+     *
      * @param user 用户信息
      */
     @Override
@@ -228,7 +256,7 @@
 
     /**
      * 校验用户是否有数据权限
-     * 
+     *
      * @param userId 用户id
      */
     @Override
@@ -248,7 +276,7 @@
 
     /**
      * 新增保存用户信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -267,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 结果
      */
@@ -301,7 +342,7 @@
 
     /**
      * 用户授权角色
-     * 
+     *
      * @param userId 用户ID
      * @param roleIds 角色组
      */
@@ -315,7 +356,7 @@
 
     /**
      * 修改用户状态
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -327,7 +368,7 @@
 
     /**
      * 修改用户基本信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -339,7 +380,7 @@
 
     /**
      * 修改用户头像
-     * 
+     *
      * @param userName 用户名
      * @param avatar 头像地址
      * @return 结果
@@ -352,7 +393,7 @@
 
     /**
      * 重置用户密码
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -364,7 +405,7 @@
 
     /**
      * 重置用户密码
-     * 
+     *
      * @param userName 用户名
      * @param password 密码
      * @return 结果
@@ -377,7 +418,7 @@
 
     /**
      * 新增用户角色信息
-     * 
+     *
      * @param user 用户对象
      */
     public void insertUserRole(SysUser user)
@@ -387,7 +428,7 @@
 
     /**
      * 新增用户岗位信息
-     * 
+     *
      * @param user 用户对象
      */
     public void insertUserPost(SysUser user)
@@ -410,7 +451,7 @@
 
     /**
      * 新增用户角色信息
-     * 
+     *
      * @param userId 用户ID
      * @param roleIds 角色组
      */
@@ -433,7 +474,7 @@
 
     /**
      * 通过用户ID删除用户
-     * 
+     *
      * @param userId 用户ID
      * @return 结果
      */
@@ -450,7 +491,7 @@
 
     /**
      * 批量删除用户信息
-     * 
+     *
      * @param userIds 需要删除的用户ID
      * @return 结果
      */
@@ -472,7 +513,7 @@
 
     /**
      * 导入用户数据
-     * 
+     *
      * @param userList 用户数据列表
      * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
      * @param operName 操作用户
@@ -549,9 +590,180 @@
      * @author jqs34
      * @date: 2023/4/30 15:43
      */
+    @Override
     public void updateUserMobile(SysUser sysUser){
         SysUser oldSysUser = this.selectUserById(sysUser.getUserId());
         oldSysUser.setPhonenumber(sysUser.getPhonenumber());
         userMapper.updateUser(oldSysUser);
     }
+
+    /**
+     *
+     * @param appEditUserDto
+     */
+    @Override
+    public void editUserInfo(AppEditUserDto appEditUserDto){
+        SysUser sysUser = this.selectUserById(appEditUserDto.getUserId());
+        //修改类型1.昵称2.头像3.性别4.生日
+        Integer editType = appEditUserDto.getEditType();
+        String editValue = appEditUserDto.getEditValue();
+        switch (editType){
+            case 1:
+                break;
+            case 2:
+                sysUser.setAvatar(editValue);
+                sysUser.setUpdateTime(DateUtils.getNowDate());
+                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
+                userMapper.updateUser(sysUser);
+                break;
+            case 3:
+                sysUser.setSex(editValue);
+                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