diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/DataScopeApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/DataScopeApi.java
index 3de2c3196..85756fac2 100644
--- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/DataScopeApi.java
+++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/DataScopeApi.java
@@ -14,6 +14,8 @@ public interface DataScopeApi {
* 获取用户的数据范围
*
* 目前不考虑一个用户多角色多部门下的数据范围,只考虑一个用户只对应一个主部门下的数据范围
+ *
+ * 此方法用在非超级管理员用户的获取数据范围
*
* @param userId 用户id
* @return 数据范围内容
diff --git a/kernel-s-system/system-business-resource/src/main/java/cn/stylefeng/roses/kernel/resource/modular/service/impl/SysResourceServiceImpl.java b/kernel-s-system/system-business-resource/src/main/java/cn/stylefeng/roses/kernel/resource/modular/service/impl/SysResourceServiceImpl.java
index 50de7f83e..55eca969a 100644
--- a/kernel-s-system/system-business-resource/src/main/java/cn/stylefeng/roses/kernel/resource/modular/service/impl/SysResourceServiceImpl.java
+++ b/kernel-s-system/system-business-resource/src/main/java/cn/stylefeng/roses/kernel/resource/modular/service/impl/SysResourceServiceImpl.java
@@ -1,6 +1,5 @@
package cn.stylefeng.roses.kernel.resource.modular.service.impl;
-import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.resource.api.ResourceReportApi;
@@ -162,8 +161,7 @@ public class SysResourceServiceImpl extends ServiceImpl list = this.list(queryWrapper);
for (SysResource sysResource : list) {
- ResourceDefinition resourceDefinition = new ResourceDefinition();
- BeanUtil.copyProperties(sysResource, resourceDefinition);
+ ResourceDefinition resourceDefinition = ResourceFactory.createResourceDefinition(sysResource);
resourceDefinitions.add(resourceDefinition);
}
diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/entity/SysRoleResource.java b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/entity/SysRoleResource.java
index a23effb99..7e7c64bbe 100644
--- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/entity/SysRoleResource.java
+++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/entity/SysRoleResource.java
@@ -28,9 +28,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import lombok.Data;
-import lombok.EqualsAndHashCode;
/**
* 角色资源关联
@@ -38,10 +36,9 @@ import lombok.EqualsAndHashCode;
* @author fengshuonan
* @date 2020/11/5 下午4:30
*/
-@EqualsAndHashCode(callSuper = true)
@Data
@TableName("sys_role_resource")
-public class SysRoleResource extends BaseEntity {
+public class SysRoleResource {
/**
* 主键
diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/SysRoleMenuMapper.java b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/SysRoleResourceMapper.java
similarity index 93%
rename from kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/SysRoleMenuMapper.java
rename to kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/SysRoleResourceMapper.java
index 0395bda5f..0d60388b4 100644
--- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/SysRoleMenuMapper.java
+++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/SysRoleResourceMapper.java
@@ -28,10 +28,10 @@ import cn.stylefeng.roses.kernel.role.modular.entity.SysRoleResource;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
- * 系统角色菜单mapper接口
+ * 系统角色资源mapper接口
*
* @author majianguo
* @date 2020/11/5 下午4:15
*/
-public interface SysRoleMenuMapper extends BaseMapper {
+public interface SysRoleResourceMapper extends BaseMapper {
}
diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/mapping/SysRoleMenuMapper.xml b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/mapping/SysRoleResourceMapper.xml
similarity index 89%
rename from kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/mapping/SysRoleMenuMapper.xml
rename to kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/mapping/SysRoleResourceMapper.xml
index a474e9ddf..1a5371135 100644
--- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/mapping/SysRoleMenuMapper.xml
+++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/mapper/mapping/SysRoleResourceMapper.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/service/impl/SysRoleResourceServiceImpl.java b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/service/impl/SysRoleResourceServiceImpl.java
index 69b2b079f..cad023ad4 100644
--- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/service/impl/SysRoleResourceServiceImpl.java
+++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/role/modular/service/impl/SysRoleResourceServiceImpl.java
@@ -24,12 +24,12 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
*/
package cn.stylefeng.roses.kernel.role.modular.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.stylefeng.roses.kernel.role.modular.entity.SysRoleResource;
-import cn.stylefeng.roses.kernel.role.modular.mapper.SysRoleMenuMapper;
+import cn.stylefeng.roses.kernel.role.modular.mapper.SysRoleResourceMapper;
import cn.stylefeng.roses.kernel.role.modular.service.SysRoleResourceService;
import cn.stylefeng.roses.kernel.system.pojo.role.request.SysRoleRequest;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -43,7 +43,7 @@ import java.util.List;
* @date 2020/11/5 上午11:32
*/
@Service
-public class SysRoleResourceServiceImpl extends ServiceImpl implements SysRoleResourceService {
+public class SysRoleResourceServiceImpl extends ServiceImpl implements SysRoleResourceService {
@Override
@Transactional(rollbackFor = Exception.class)
diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/LoginUserFactory.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/LoginUserFactory.java
index f99707d28..b194245e1 100644
--- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/LoginUserFactory.java
+++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/LoginUserFactory.java
@@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.factory;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.extra.spring.SpringUtil;
+import cn.stylefeng.roses.kernel.auth.api.enums.DataScopeTypeEnum;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.file.FileInfoApi;
import cn.stylefeng.roses.kernel.file.FileOperatorApi;
@@ -76,7 +77,11 @@ public class LoginUserFactory {
// 填充用户的数据范围
DataScopeResponse dataScopeResponse = dataScopeApi.getDataScope(userId);
- loginUser.setDataScopeTypes(dataScopeResponse.getDataScopeTypeEnums());
+ if (loginUser.getSuperAdmin()) {
+ loginUser.setDataScopeTypes(getSuperAdminDataScopeTypeEnum());
+ } else {
+ loginUser.setDataScopeTypes(dataScopeResponse.getDataScopeTypeEnums());
+ }
loginUser.setOrganizationIdDataScope(dataScopeResponse.getOrganizationIds());
loginUser.setUserIdDataScope(dataScopeResponse.getUserIds());
@@ -126,4 +131,16 @@ public class LoginUserFactory {
return simpleRoles;
}
+ /**
+ * 超级管理员的数据范围是所有数据范围
+ *
+ * @author fengshuonan
+ * @date 2020/12/14 23:12
+ */
+ private static Set getSuperAdminDataScopeTypeEnum() {
+ HashSet dataScopeTypeEnums = new HashSet<>();
+ dataScopeTypeEnums.add(DataScopeTypeEnum.ALL);
+ return dataScopeTypeEnums;
+ }
+
}