From 2a2c181bdfbaca08adde387e0f45d64c58a3893c Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 14 Jul 2021 12:08:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=E7=A7=BB=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/SysAuthController.java | 15 ----- .../dataease/service/sys/SysAuthService.java | 57 ------------------- 2 files changed, 72 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/sys/SysAuthController.java b/backend/src/main/java/io/dataease/controller/sys/SysAuthController.java index a6cdb78139..5aba491273 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SysAuthController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SysAuthController.java @@ -2,10 +2,8 @@ package io.dataease.controller.sys; import io.dataease.base.domain.SysAuthDetail; import io.dataease.controller.handler.annotation.I18n; -import io.dataease.controller.request.BaseTreeRequest; import io.dataease.controller.request.SysAuthRequest; import io.dataease.dto.SysAuthDetailDTO; -import io.dataease.dto.VAuthModelDTO; import io.dataease.service.sys.SysAuthService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,13 +28,6 @@ public class SysAuthController { @Resource private SysAuthService sysAuthService; - @ApiOperation("查询视图") - @PostMapping("/authModels") - @I18n - public List authModels(@RequestBody BaseTreeRequest request){ - return sysAuthService.searchAuthModelTree(request); - } - @ApiOperation("查询授权") @PostMapping("/authDetails") @@ -52,10 +43,4 @@ public class SysAuthController { return sysAuthService.searchAuthDetailsModel(authType); } - - @ApiOperation("修改权限") - @PostMapping("/authChange") - public void authChange(@RequestBody SysAuthRequest request){ - sysAuthService.authChange(request); - } } diff --git a/backend/src/main/java/io/dataease/service/sys/SysAuthService.java b/backend/src/main/java/io/dataease/service/sys/SysAuthService.java index e633df73e7..66429c6ec2 100644 --- a/backend/src/main/java/io/dataease/service/sys/SysAuthService.java +++ b/backend/src/main/java/io/dataease/service/sys/SysAuthService.java @@ -7,13 +7,11 @@ import io.dataease.base.domain.SysAuthDetail; import io.dataease.base.mapper.SysAuthMapper; import io.dataease.base.mapper.ext.ExtSysAuthDetailMapper; import io.dataease.base.mapper.ext.ExtSysAuthMapper; -import io.dataease.base.mapper.ext.ExtVAuthModelMapper; import io.dataease.commons.constants.SystemConstants; import io.dataease.commons.utils.AuthUtils; import io.dataease.controller.request.BaseTreeRequest; import io.dataease.controller.request.SysAuthRequest; import io.dataease.dto.SysAuthDetailDTO; -import io.dataease.dto.VAuthModelDTO; import io.dataease.i18n.Translator; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -38,30 +36,11 @@ public class SysAuthService { @Resource private ExtSysAuthDetailMapper extSysAuthDetailMapper; - @Resource - private ExtVAuthModelMapper extVAuthModelMapper; - private static List PRI_MODEL_TYPE = Arrays.asList("link", "dataset", "chart", "panel", "menu"); - /** - * @Description: 查询可见授权数据的数据如果是管理员(IsAdmin = true)且modelType 为link dataset chart panel menu可以查询到所有的数据, - * 如果是普通用户,只能查询到自己的数据;但是 node_type 为spine 时 节点也会返回 - **/ - public List searchAuthModelTree(BaseTreeRequest request) { - CurrentUserDto currentUserDto = AuthUtils.getUser(); - request.setCreateBy(String.valueOf(currentUserDto.getUserId())); - if (PRI_MODEL_TYPE.contains(request.getModelType()) && (currentUserDto.getIsAdmin() == null || !currentUserDto.getIsAdmin())) { - request.setWithAuth("1"); - } else { - request.setWithAuth("0"); - } - return extVAuthModelMapper.searchTree(request); - } - - /** * @Description: 查询授权明细map **/ @@ -78,42 +57,6 @@ public class SysAuthService { return extSysAuthDetailMapper.searchAuthTypeModel(authType); } - public void authChange(SysAuthRequest request) { - SysAuthDetail sysAuthDetail = request.getAuthDetail(); - //TODO 获取需要授权的资源id(当前节点和所有权限的下级节点) - List authSources = getAuthModels(request.getAuthSource(), request.getAuthSourceType()); - if (CollectionUtils.isEmpty(authSources)) { - throw new RuntimeException(Translator.get("i18n_auth_source_be_canceled")); - } - //TODO 获取需要被授权的目标id(部门当前节点和所有权限的下级节点) - List authTargets = getAuthModels(request.getAuthTarget(), request.getAuthTargetType()); - - if (CollectionUtils.isNotEmpty(authSources) && CollectionUtils.isNotEmpty(authTargets)) { - List authIdChange = new ArrayList<>(); - authTargets.stream().forEach(authTarget -> { - authSources.forEach(authSource -> { - String authId = checkAuth(authSource, request.getAuthSourceType(), authTarget, request.getAuthTargetType()); - authIdChange.add(authId); - }); - }); - // 授权修改 - if (sysAuthDetail.getPrivilegeValue() == SystemConstants.PRIVILEGE_VALUE.ON) { - //当前为开启1 >>> 关闭0 需要将权限级别(PrivilegeType)大于当前级别的全新都修改为关闭 0 - extSysAuthDetailMapper.authDetailsChange(SystemConstants.PRIVILEGE_VALUE.OFF, sysAuthDetail.getPrivilegeType(), authIdChange); - } else { - //当前为关闭0 >>> 开启1 需要将权限级别(PrivilegeType)小于当前级别的全新都修改为开启 1 - extSysAuthDetailMapper.authDetailsChange(SystemConstants.PRIVILEGE_VALUE.ON, sysAuthDetail.getPrivilegeType(), authIdChange); - } - } - } - - private List getAuthModels(String id, String type) { - List vAuthModelDTOS = searchAuthModelTree(new BaseTreeRequest(id, type, SystemConstants.WITH_EXTEND.CHILDREN)); - List authSources = Optional.ofNullable(vAuthModelDTOS).orElse(new ArrayList<>()).stream().map(VAuthModelDTO::getId) - .collect(Collectors.toList()); - return authSources; - } - /** * @Description: 查询当前target 是否有存在授权 不存在 增加权限 并复制权限模板 **/