diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java index a40071dc..5601373b 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasBasicDictService.java @@ -27,4 +27,6 @@ public interface SaasBasicDictService { Boolean update(BasicDictUpdateReq req); Boolean updateStauts(BasicDictUpdateStatusReq req); + + BasicDictNodeResp getWorkspaceType(String workspaceType); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java index e9cab098..f6de2c3d 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java @@ -17,7 +17,6 @@ import cn.axzo.tyr.client.model.permission.PermissionPointMoveRequest; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.permission.PermissionPointTreeQueryReq; import cn.axzo.tyr.client.model.permission.PermissionPointVO; -import cn.axzo.tyr.server.repository.SaasBasicDictDao; import cn.axzo.tyr.server.repository.entity.SaasFeature; import cn.axzo.tyr.server.repository.service.SaasFeatureDao; import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao; @@ -33,7 +32,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.stream.Collectors; @@ -52,7 +50,6 @@ import static cn.axzo.tyr.server.common.constants.PermissionConstant.*; public class PermissionPointServiceImpl implements PermissionPointService { private final SaasFeatureDao saasFeatureDao; - private final SaasBasicDictDao saasBasicDictDao; private final SaasBasicDictService saasBasicDictService; private final SaasPgroupPermissionRelationDao saasPgroupPermissionRelationDao; @@ -78,10 +75,15 @@ public class PermissionPointServiceImpl implements PermissionPointService { return nodesResult; } + return buildTopNodes(nodesResult); + } + + private List buildTopNodes(List nodesResult) { + //构建workspace-terminal工作台层级 + //按terminal分组 Map> mappingNode = nodesResult.stream() .collect(Collectors.groupingBy(PermissionPointTreeNode::getTerminal)); - //构建workspace-terminal工作台层级 List dictList = saasBasicDictService.getBasicDictNodeTree(BasicDictQueryReq.builder() .type(DictTypeFiledEnum.TERMINAL).build()); //遍历所有workspace和terminal-构建顶层两级 @@ -90,7 +92,7 @@ public class PermissionPointServiceImpl implements PermissionPointService { List terminals = workspace.getChildren(); PermissionPointTreeNode workspaceNode = null; for (BasicDictTreeResp terminal : terminals) { - //有对应权限点 则建立上级 + //有下级权限点 则建立上级 List childrenNodes = mappingNode.get(terminal.getCode()); if (CollectionUtil.isNotEmpty(childrenNodes)) { PermissionPointTreeNode terminalTree = new PermissionPointTreeNode(); @@ -140,7 +142,7 @@ public class PermissionPointServiceImpl implements PermissionPointService { for (String workSpaceType : request.getWorkspaceType()) { dictReq.setWorkspaceType(DictWorkSpaceTypeEnum.getByValue(workSpaceType)); dictReq.setType(DictTypeFiledEnum.TERMINAL); - List dictList = saasBasicDictDao.getBasicDictNodeList(dictReq); + List dictList = saasBasicDictService.getBasicDictNodeList(dictReq); terminals.addAll(dictList.stream().map(BasicDictNodeResp::getCode).collect(Collectors.toList())); } request.setTerminalList(terminals); @@ -216,8 +218,8 @@ public class PermissionPointServiceImpl implements PermissionPointService { BasicDictNodeReq terminalReq = new BasicDictNodeReq(); terminalReq.setCode(feature.getTerminal()); terminalReq.setType(DictTypeFiledEnum.TERMINAL); - BasicDictNodeResp terminal = saasBasicDictDao.getBasicDictNode(terminalReq); - BasicDictNodeResp workspace = saasBasicDictDao.getWorkspaceType(terminal.getWorkspaceType()); + BasicDictNodeResp terminal = saasBasicDictService.getBasicDictNode(terminalReq); + BasicDictNodeResp workspace = saasBasicDictService.getWorkspaceType(terminal.getWorkspaceType()); List pathName = new ArrayList<>(); pathName.add(workspace.getName()); pathName.add(terminal.getName()); diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java index 27e2accb..d99c244b 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasBasicDictServiceImpl.java @@ -170,6 +170,11 @@ public class SaasBasicDictServiceImpl implements SaasBasicDictService { return saasBasicDictDao.updateStatus(req); } + @Override + public BasicDictNodeResp getWorkspaceType(String workspaceType) { + return saasBasicDictDao.getWorkspaceType(workspaceType); + } + @Override public BasicDictNodeResp getById(Long id) { return BeanMapper.copyBean(saasBasicDictDao.getById(id), BasicDictNodeResp.class);