From 03f1f3372a10a08f96f3308bfa099e86a55046d0 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 30 一月 2024 09:32:38 +0800 Subject: [PATCH] 修改数据权限bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java index c69d991..e556da6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java @@ -89,8 +89,8 @@ * @return List<MgtDeptStaffListVo> */ @Override - public List<MgtDeptStaffListVo> listMgtDeptStaff(){ - return sysStaffMapper.listMgtDeptStaff(); + public List<MgtDeptStaffListVo> listMgtDeptStaff(Long deptId,Long userId){ + return sysStaffMapper.listMgtDeptStaff(deptId,userId); } /** @@ -102,16 +102,31 @@ */ @Override public List<MgtDeptStaffListVo>listMgtDeptStaffByPermission(Long userId){ - SysUser sysUser = sysUserService.selectUserById(userId); - String dataScope = sysUser.getDataScope(); List<MgtDeptStaffListVo> deptStaffListVoList; - if(dataScope!=null&&dataScope.equals("4")){ - deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),null); - }else if(dataScope!=null&&dataScope.equals("5")){ - deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),sysUser.getUserId()); - }else{ - deptStaffListVoList = sysStaffMapper.listMgtDeptStaff(); + // 获取当前登陆人的可视权限 + SysUser sysUser = sysUserService.selectUserById(userId); + // 如果当前登陆人权限是查看部门数据 + Long deptId = null; + // 如果当前登陆人是查看个人数据 + Long userId1 = null; + if (sysUser!=null){ + String dataScope = sysUser.getDataScope(); + if (!sysUser.getUserName().equals("admin")){ + if (org.springframework.util.StringUtils.hasLength(dataScope)){ + switch (dataScope){ + case "3": + // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺 + deptId = sysUser.getDeptId(); + break; + case "5": + // 仅个人数据 查询当前登陆人关联店铺下的用户 + userId1 = sysUser.getUserId(); + break; + } + } + } } + deptStaffListVoList = sysStaffMapper.listMgtDeptStaff(deptId,userId1); return deptStaffListVoList; } @@ -200,7 +215,8 @@ mgtShopStaffEditDto.setStaffAvatar(sysStaff.getStaffAvatar()); remoteShopService.editMgtShopStaff(mgtShopStaffEditDto); //如果wxUserId和wxDeptId不为空 同步到企业微信 - if(mgtStaffEditDto.getWxUserId()!=null&&sysDept.getWxDeptId()!=null){ + if(sysStaff.getWxUserId()!=null&&sysDept.getWxDeptId()!=null){ + log.debug("同步员工到企业微信:"+mgtStaffEditDto.getStaffName()); MgtWxCPStaffDto mgtWxCPStaffDto = new MgtWxCPStaffDto(); mgtWxCPStaffDto.setWxDeptId(sysDept.getWxDeptId()); mgtWxCPStaffDto.setWxUserId(mgtStaffEditDto.getWxUserId()); -- Gitblit v1.7.1