添加品牌管理员权限
This commit is contained in:
+21
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -74,6 +78,10 @@ public class SysDictController {
|
||||
private ISysDictItemService sysDictItemService;
|
||||
@Autowired
|
||||
public RedisTemplate<String, Object> 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<List<DictModel>> getBrandDict() {
|
||||
List<DictModel> dictModels = sysDictService.queryDictItemsByCode(DictCodeEnum.BRAND.getValue());
|
||||
if (!sysUserService.isAdministrator()) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<String> brands = projectUserBrandService.queryBrandByUserId(sysUser.getId());
|
||||
dictModels = dictModels.stream().filter(dictModel -> brands.contains(dictModel.getValue())).collect(Collectors.toList());
|
||||
}
|
||||
return Result.OK(dictModels);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+11
-4
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -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<List<SysRole>> queryall() {
|
||||
Result<List<SysRole>> result = new Result<>();
|
||||
List<SysRole> list = sysRoleService.list();
|
||||
//系统管理员才能授权的角色
|
||||
if (!sysUserService.isAdministrator()) {
|
||||
List<String> roleCodes = AdmininstratorAuthRoleEnum.getRoleCodes();
|
||||
list = list.stream().filter(sysRole -> !roleCodes.contains(sysRole.getRoleCode())).collect(Collectors.toList());
|
||||
}
|
||||
if(list==null||list.size()<=0) {
|
||||
result.error500("未找到角色信息");
|
||||
}else {
|
||||
|
||||
+36
@@ -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<String> getRoleCodes(){
|
||||
List<String> list = new ArrayList<>();
|
||||
for (AdmininstratorAuthRoleEnum val : AdmininstratorAuthRoleEnum.values()) {
|
||||
list.add(val.roleCode);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
+11
-11
@@ -775,17 +775,17 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
projectIds.addAll(permissionProjectIds);
|
||||
}
|
||||
}
|
||||
//if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) > 0) {
|
||||
// //如果是Viewer,根据配置的品牌筛选可访问的项目
|
||||
// List<String> brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId());
|
||||
// if (ObjectUtils.isNotEmpty(brandTypes)) {
|
||||
// QueryWrapper<ProjectLibraryBase> 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<String> brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId());
|
||||
if (ObjectUtils.isNotEmpty(brandTypes)) {
|
||||
QueryWrapper<ProjectLibraryBase> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("brand",brandTypes);
|
||||
if (ObjectUtils.isNotEmpty(list(queryWrapper))) {
|
||||
projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(params);
|
||||
disposeData(result,"",false);
|
||||
|
||||
Reference in New Issue
Block a user