From 74ec634d3ecd024e71188cbdfd9a7118c2c645fe Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 17 六月 2025 18:35:39 +0800
Subject: [PATCH] 代码提交
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 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 bce9286..2525558 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
@@ -17,9 +17,11 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
import javax.validation.Validator;
import java.util.*;
@@ -60,6 +62,9 @@
@Autowired
protected Validator validator;
+
+ @Value("${isAdmin}")
+ private List<Long> isAdmin;
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃
@@ -161,6 +166,7 @@
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();
@@ -176,6 +182,7 @@
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(sysUser.getUserId());
sysUserDept.setDeptType(sysUser.getSearchscope());
+ sysUserDept.setOrgid(split[1]);
List<SysUserDept> sysUserDeptKSs = null;
List<SysUserDept> sysUserDeptBQs = null;
if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) {
@@ -192,7 +199,7 @@
Set<String> uniqueDeptCodes = new HashSet<>();
for (SysUserDept userDept : sysUserDeptKSs) {
String deptCode = userDept.getDeptCode();
- if (!uniqueDeptCodes.contains(deptCode)) {
+ if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) {
distinctUserDepts.add(userDept);
uniqueDeptCodes.add(deptCode);
}
@@ -202,7 +209,7 @@
Set<String> uniqueBQCodes = new HashSet<>();
for (SysUserDept userDept : sysUserDeptBQs) {
String deptCode = userDept.getDeptCode();
- if (!uniqueBQCodes.contains(deptCode)) {
+ if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) {
distinctUserBQs.add(userDept);
uniqueBQCodes.add(deptCode);
}
@@ -226,6 +233,7 @@
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);
@@ -238,6 +246,7 @@
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);
@@ -350,7 +359,7 @@
*/
@Override
public void checkUserAllowed(SysUser user) {
- if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
+ if (StringUtils.isNotNull(user.getUserId()) && isAdmin.contains(user.getUserId())) {
throw new ServiceException("涓嶅厑璁告搷浣滆秴绾х鐞嗗憳鐢ㄦ埛");
}
}
@@ -362,7 +371,7 @@
*/
@Override
public void checkUserDataScope(Long userId) {
- if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+ if (!isAdmin.contains(SecurityUtils.getUserId())) {
SysUser user = new SysUser();
user.setUserId(userId);
List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
@@ -456,11 +465,15 @@
if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
for (String deptCode : user.getDeptCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+ if(ObjectUtils.isEmpty(sysDept)){
+ continue;
+ }
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(user.getUserId());
sysUserDept.setOrgid(user.getOrgid());
sysUserDept.setDeptCode(deptCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("1");
@@ -478,10 +491,14 @@
if (!CollectionUtils.isEmpty(user.getWardCodes())) {
for (String wardCode : user.getWardCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
-
+ if(ObjectUtils.isEmpty(sysDept)){
+ continue;
+ }
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(user.getUserId());
sysUserDept.setDeptCode(wardCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
+ sysUserDept.setOrgid(user.getOrgid());
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("2");
--
Gitblit v1.9.3