diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java
index 255863335..f8327a592 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java
@@ -16,6 +16,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.SqlInjectionUtil;
import com.jero.common.util.oConvertUtils;
+import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.enums.FixedFieldEnum;
import com.jero.modules.enums.IsTagDict;
import com.jero.modules.system.entity.SysDict;
@@ -23,8 +24,10 @@ import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.model.SysDictTree;
import com.jero.modules.system.model.TreeSelectModel;
+import com.jero.modules.system.service.IProjectUserBrandService;
import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysDictService;
+import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.vo.SysDictPage;
import com.jero.modules.utils.HanYuPinYinUtil;
import io.swagger.annotations.Api;
@@ -53,6 +56,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
/**
*
@@ -74,6 +78,10 @@ public class SysDictController {
private ISysDictItemService sysDictItemService;
@Autowired
public RedisTemplate redisTemplate;
+ @Autowired
+ private ISysUserService sysUserService;
+ @Autowired
+ private IProjectUserBrandService projectUserBrandService;
@RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(value = "字典控制器-分页列表查询", notes = "字典控制器-分页列表查询")
@@ -757,4 +765,17 @@ public class SysDictController {
}
}
+ @ApiOperation(value = "查询出当前用户可配置品牌")
+ @GetMapping(value = "/getBrandDict")
+ public Result> getBrandDict() {
+ List dictModels = sysDictService.queryDictItemsByCode(DictCodeEnum.BRAND.getValue());
+ if (!sysUserService.isAdministrator()) {
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ List brands = projectUserBrandService.queryBrandByUserId(sysUser.getId());
+ dictModels = dictModels.stream().filter(dictModel -> brands.contains(dictModel.getValue())).collect(Collectors.toList());
+ }
+ return Result.OK(dictModels);
+ }
+
+
}
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java
index b061f8eb5..0dc1ac2bd 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java
@@ -11,11 +11,9 @@ import com.jero.common.constant.CommonConstant;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.*;
+import com.jero.modules.system.enums.AdmininstratorAuthRoleEnum;
import com.jero.modules.system.model.TreeModel;
-import com.jero.modules.system.service.ISysPermissionDataRuleService;
-import com.jero.modules.system.service.ISysPermissionService;
-import com.jero.modules.system.service.ISysRolePermissionService;
-import com.jero.modules.system.service.ISysRoleService;
+import com.jero.modules.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -36,6 +34,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
+import java.util.stream.Collectors;
/**
*
@@ -62,6 +61,9 @@ public class SysRoleController {
@Autowired
private ISysPermissionService sysPermissionService;
+ @Autowired
+ private ISysUserService sysUserService;
+
/**
* 分页列表查询
* @param role
@@ -187,6 +189,11 @@ public class SysRoleController {
public Result> queryall() {
Result> result = new Result<>();
List list = sysRoleService.list();
+ //系统管理员才能授权的角色
+ if (!sysUserService.isAdministrator()) {
+ List roleCodes = AdmininstratorAuthRoleEnum.getRoleCodes();
+ list = list.stream().filter(sysRole -> !roleCodes.contains(sysRole.getRoleCode())).collect(Collectors.toList());
+ }
if(list==null||list.size()<=0) {
result.error500("未找到角色信息");
}else {
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java
new file mode 100644
index 000000000..ac94c8e78
--- /dev/null
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java
@@ -0,0 +1,36 @@
+package com.jero.modules.system.enums;
+
+import com.jero.common.util.oConvertUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public enum AdmininstratorAuthRoleEnum {
+
+ admin("admin","系统管理员"),
+ //brand_administrator("BrandAdministrator","品牌管理员"),
+ external_reports_manager("ExternalReportsManager","对外报告管理员"),
+ country_card_manage("countryCardManage","countryCard管理员");
+
+ String roleCode;
+ String roleName;
+
+ AdmininstratorAuthRoleEnum() {
+ }
+
+ AdmininstratorAuthRoleEnum(String roleCode, String roleName) {
+ this.roleCode = roleCode;
+ this.roleName = roleName;
+ }
+ public static List getRoleCodes(){
+ List list = new ArrayList<>();
+ for (AdmininstratorAuthRoleEnum val : AdmininstratorAuthRoleEnum.values()) {
+ list.add(val.roleCode);
+ }
+ return list;
+ }
+
+
+}
+
+
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java
index b6f914c49..ece289216 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java
@@ -775,17 +775,17 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl 0) {
- // //如果是Viewer,根据配置的品牌筛选可访问的项目
- // List brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId());
- // if (ObjectUtils.isNotEmpty(brandTypes)) {
- // QueryWrapper queryWrapper = new QueryWrapper<>();
- // queryWrapper.in("brand",brandTypes);
- // if (ObjectUtils.isNotEmpty(list(queryWrapper))) {
- // projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet()));
- // }
- // }
- //}
+ if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) > 0) {
+ //如果是Viewer,根据配置的品牌筛选可访问的项目
+ List brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId());
+ if (ObjectUtils.isNotEmpty(brandTypes)) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.in("brand",brandTypes);
+ if (ObjectUtils.isNotEmpty(list(queryWrapper))) {
+ projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet()));
+ }
+ }
+ }
List result = projectLibraryBaseMapper.queryPageList(params);
disposeData(result,"",false);