添加品牌管理员权限

This commit is contained in:
CD
2022-12-26 15:45:15 +08:00
parent 3692444a99
commit 14248501e6
4 changed files with 79 additions and 15 deletions
@@ -16,6 +16,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.SqlInjectionUtil; import com.jero.common.util.SqlInjectionUtil;
import com.jero.common.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.enums.FixedFieldEnum; import com.jero.modules.enums.FixedFieldEnum;
import com.jero.modules.enums.IsTagDict; import com.jero.modules.enums.IsTagDict;
import com.jero.modules.system.entity.SysDict; 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.entity.SysUser;
import com.jero.modules.system.model.SysDictTree; import com.jero.modules.system.model.SysDictTree;
import com.jero.modules.system.model.TreeSelectModel; 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.ISysDictItemService;
import com.jero.modules.system.service.ISysDictService; 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.system.vo.SysDictPage;
import com.jero.modules.utils.HanYuPinYinUtil; import com.jero.modules.utils.HanYuPinYinUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -53,6 +56,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
@@ -74,6 +78,10 @@ public class SysDictController {
private ISysDictItemService sysDictItemService; private ISysDictItemService sysDictItemService;
@Autowired @Autowired
public RedisTemplate<String, Object> redisTemplate; public RedisTemplate<String, Object> redisTemplate;
@Autowired
private ISysUserService sysUserService;
@Autowired
private IProjectUserBrandService projectUserBrandService;
@RequestMapping(value = "/page", method = RequestMethod.GET) @RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(value = "字典控制器-分页列表查询", notes = "字典控制器-分页列表查询") @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,11 +11,9 @@ import com.jero.common.constant.CommonConstant;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.*; 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.model.TreeModel;
import com.jero.modules.system.service.ISysPermissionDataRuleService; import com.jero.modules.system.service.*;
import com.jero.modules.system.service.ISysPermissionService;
import com.jero.modules.system.service.ISysRolePermissionService;
import com.jero.modules.system.service.ISysRoleService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -36,6 +34,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
@@ -62,6 +61,9 @@ public class SysRoleController {
@Autowired @Autowired
private ISysPermissionService sysPermissionService; private ISysPermissionService sysPermissionService;
@Autowired
private ISysUserService sysUserService;
/** /**
* 分页列表查询 * 分页列表查询
* @param role * @param role
@@ -187,6 +189,11 @@ public class SysRoleController {
public Result<List<SysRole>> queryall() { public Result<List<SysRole>> queryall() {
Result<List<SysRole>> result = new Result<>(); Result<List<SysRole>> result = new Result<>();
List<SysRole> list = sysRoleService.list(); 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) { if(list==null||list.size()<=0) {
result.error500("未找到角色信息"); result.error500("未找到角色信息");
}else { }else {
@@ -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;
}
}
@@ -775,17 +775,17 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
projectIds.addAll(permissionProjectIds); projectIds.addAll(permissionProjectIds);
} }
} }
//if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) > 0) { if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) > 0) {
// //如果是Viewer,根据配置的品牌筛选可访问的项目 //如果是Viewer,根据配置的品牌筛选可访问的项目
// List<String> brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId()); List<String> brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId());
// if (ObjectUtils.isNotEmpty(brandTypes)) { if (ObjectUtils.isNotEmpty(brandTypes)) {
// QueryWrapper<ProjectLibraryBase> queryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectLibraryBase> queryWrapper = new QueryWrapper<>();
// queryWrapper.in("brand",brandTypes); queryWrapper.in("brand",brandTypes);
// if (ObjectUtils.isNotEmpty(list(queryWrapper))) { if (ObjectUtils.isNotEmpty(list(queryWrapper))) {
// projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet())); projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet()));
// } }
// } }
//} }
List<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(params); List<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(params);
disposeData(result,"",false); disposeData(result,"",false);