mitao
2025-01-17 afa0dbb4f54e7244835dd67ec33c3e545f122f71
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl.sys;
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;
@@ -11,6 +12,7 @@
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;
@@ -68,6 +70,8 @@
    @Resource
    protected SysUserMenuMapper userMenuMapper;
    /**
     * 根据条件分页查询用户列表
@@ -605,10 +609,6 @@
        String editValue = appEditUserDto.getEditValue();
        switch (editType){
            case 1:
                sysUser.setNickName(editValue);
                sysUser.setUpdateTime(DateUtils.getNowDate());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 2:
                sysUser.setAvatar(editValue);
@@ -623,6 +623,12 @@
                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;
@@ -668,6 +674,7 @@
    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;
@@ -710,13 +717,53 @@
     * @description
     * @author  jqs
     * @date    2023/7/5 21:24
     * @param userId
     * @param mgtFrozenMemberDto
     * @return  void
     */
    @Override
    public void frozenUser(Long userId){
    public void frozenUser(MgtFrozenMemberDto mgtFrozenMemberDto){
        Long userId = mgtFrozenMemberDto.getId();
        SysUser sysUser = this.selectUserById(userId);
        sysUser.setStatus("1");
        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;
    }
}