From 86b103f926cf92fff3d591c6ba07099ad8db3ad1 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 01 七月 2025 15:53:04 +0800 Subject: [PATCH] 代码提交 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 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 e71efa3..044a52c 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 @@ -4,6 +4,7 @@ import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.*; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanValidators; @@ -13,13 +14,16 @@ import com.ruoyi.system.mapper.*; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; +import com.smartor.domain.SvyTaskVO; import com.smartor.mapper.SysUserDeptMapper; 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 +64,9 @@ @Autowired protected Validator validator; + + @Value("${isAdmin}") + private List<Long> isAdmin; /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃 @@ -177,6 +184,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")) { @@ -189,6 +197,17 @@ sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); //濡傛灉鏄痑dmin锛岄渶瑕佸sysUserDeptBQs锛宻ysUserDeptBQs鍘婚噸 if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) { + //濡傛灉鏄痑dmin锛屽彧鑳藉幓sys_dept鍘诲彇鏁版嵁 + SysDept dept = new SysDept(); + dept.setOrgid(split[1]); + dept.setDeptType("1"); + sysDepts = sysDeptMapper.selectDeptList(dept); + sysUserDeptKSs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class); + + dept.setDeptType("2"); + sysDepts = sysDeptMapper.selectDeptList(dept); + sysUserDeptBQs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class); + List<SysUserDept> distinctUserDepts = new ArrayList<>(); Set<String> uniqueDeptCodes = new HashSet<>(); for (SysUserDept userDept : sysUserDeptKSs) { @@ -353,7 +372,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("涓嶅厑璁告搷浣滆秴绾х鐞嗗憳鐢ㄦ埛"); } } @@ -365,7 +384,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); @@ -459,11 +478,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"); @@ -481,10 +504,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