1 package com.supwisdom.institute.backend.system.domain.service;
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.LinkedHashMap;
9 import lombok.extern.slf4j.Slf4j;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service;
14 import com.supwisdom.institute.backend.common.framework.entity.EntityUtils;
15 import com.supwisdom.institute.backend.common.framework.service.ABaseService;
16 import com.supwisdom.institute.backend.system.domain.entity.Permission;
17 import com.supwisdom.institute.backend.system.domain.model.PermissionTreeNode;
18 import com.supwisdom.institute.backend.system.domain.repo.PermissionRepository;
22 public class PermissionService extends ABaseService<Permission, PermissionRepository> {
25 public PermissionRepository getRepo() {
26 return permissionRepository;
30 private PermissionRepository permissionRepository;
32 public void deleteBatch(List<String> ids) {
34 ids.stream().forEach(id -> {
39 public PermissionTreeNode selectPermissionTree(Map<String, Object> mapBean) {
41 List<Permission> permissions = permissionRepository.selectList(true, -1, -1, mapBean, null);
43 Map<String, PermissionTreeNode> parentTreeNode = new LinkedHashMap<String, PermissionTreeNode>();
45 PermissionTreeNode rootTreeNode = new PermissionTreeNode();
46 rootTreeNode.setId(Permission.ROOT_PARENT_ID);
47 rootTreeNode.setCode("ROOT");
48 rootTreeNode.setName("顶级菜单");
49 rootTreeNode.setChildren(new ArrayList<PermissionTreeNode>());
51 parentTreeNode.put(rootTreeNode.getId(), rootTreeNode);
53 for (Permission permission : permissions) {
54 PermissionTreeNode treeNode = EntityUtils.copy(permission, new PermissionTreeNode());
55 treeNode.setChildren(new ArrayList<PermissionTreeNode>());
57 parentTreeNode.put(treeNode.getId(), treeNode);
60 for (PermissionTreeNode treeNode : parentTreeNode.values()) {
61 if (!parentTreeNode.containsKey(treeNode.getParentId())) {
65 parentTreeNode.get(treeNode.getParentId()).getChildren().add(treeNode);