From fa132afa3a6942a48002c8e36e9ee47de13ee005 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 26 三月 2025 18:44:45 +0800 Subject: [PATCH] 代码提交 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 0 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 e126467..e71efa3 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 @@ -157,6 +157,99 @@ return sysUser; } + @Override + public SysUser selectUserByUserName2(String userName) { + String[] split = userName.split("&"); + SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1]); + if (Objects.isNull(sysUser)) return sysUser; + List<SysDept> sysDepts = null; + if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) { + SysDept dept = new SysDept(); + dept.setOrgid(split[1]); + sysDepts = sysDeptMapper.selectDeptList(dept); + } else { + sysDepts = sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId()); + } + List<Long> deptIds = new ArrayList<>(); + for (SysDept sysDept : sysDepts) { + deptIds.add(sysDept.getDeptId()); + } + SysUserDept sysUserDept = new SysUserDept(); + sysUserDept.setUserId(sysUser.getUserId()); + sysUserDept.setDeptType(sysUser.getSearchscope()); + List<SysUserDept> sysUserDeptKSs = null; + List<SysUserDept> sysUserDeptBQs = null; + if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) { + if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) { + sysUserDept.setUserId(null); + } + sysUserDept.setDeptType("1"); + sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); + sysUserDept.setDeptType("2"); + sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); + //濡傛灉鏄痑dmin锛岄渶瑕佸sysUserDeptBQs锛宻ysUserDeptBQs鍘婚噸 + if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) { + List<SysUserDept> distinctUserDepts = new ArrayList<>(); + Set<String> uniqueDeptCodes = new HashSet<>(); + for (SysUserDept userDept : sysUserDeptKSs) { + String deptCode = userDept.getDeptCode(); + if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) { + distinctUserDepts.add(userDept); + uniqueDeptCodes.add(deptCode); + } + } + + List<SysUserDept> distinctUserBQs = new ArrayList<>(); + Set<String> uniqueBQCodes = new HashSet<>(); + for (SysUserDept userDept : sysUserDeptBQs) { + String deptCode = userDept.getDeptCode(); + if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) { + distinctUserBQs.add(userDept); + uniqueBQCodes.add(deptCode); + } + } + sysUserDeptKSs = distinctUserDepts; + sysUserDeptBQs = distinctUserBQs; + } + + } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("1")) { + sysUserDept.setDeptType("1"); + sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); + } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("2")) { + sysUserDept.setDeptType("2"); + sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); + } + + sysUser.setDepts(deptIds); + if (!CollectionUtils.isEmpty(sysUserDeptBQs)) { + List<Map<String, Object>> list = new ArrayList<>(); + for (SysUserDept sud : sysUserDeptBQs) { + Map<String, Object> map = new HashMap<>(); + map.put("districtCode", ""); + if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("districtCode", sud.getDeptCode()); + else continue; + map.put("districtName", ""); + if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("districtName", sud.getDeptName()); + list.add(map); + } + sysUser.setBelongWards(list); + } + if (!CollectionUtils.isEmpty(sysUserDeptKSs)) { + List<Map<String, Object>> list = new ArrayList<>(); + for (SysUserDept sud : sysUserDeptKSs) { + Map<String, Object> map = new HashMap<>(); + map.put("deptCode", ""); + if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("deptCode", sud.getDeptCode()); + else continue; + map.put("deptName", ""); + if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName()); + list.add(map); + } + sysUser.setBelongDepts(list); + } + return sysUser; + } + /** * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛 * -- Gitblit v1.9.3