医院废弃物信息化管理平台
“mitao”
2026-04-21 2f18b3a28054c3917010f95ba84f7425280a2622
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package cn.besteam.modules.system.biz;
 
import cn.besteam.common.constant.DefaultMenusEnum;
import cn.besteam.modules.system.entity.SysPermission;
import cn.besteam.modules.system.entity.SysRolePermission;
import cn.besteam.modules.system.service.ISysPermissionService;
import cn.besteam.modules.system.service.ISysRolePermissionService;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.*;
import java.util.stream.Collectors;
 
/**
 * @author ltri
 * @date 2020/1/11 11:20 AM
 */
@Service
public class SysPermissionBiz {
 
    @Autowired
    private ISysPermissionService sysPermissionService;
 
    @Autowired
    private ISysRolePermissionService sysRolePermissionService;
 
    /**
     * 添加默认菜单以及其子菜单
     */
    public List<SysPermission> addDefaultMenu(List<SysPermission> metaList) {
 
        Set<SysPermission> set = new HashSet<>(metaList);
        //默认一级菜单
        List<SysPermission> topMenus = sysPermissionService.list(Wrappers.<SysPermission>lambdaQuery().in(SysPermission::getName, DefaultMenusEnum.SET));
        //一级菜单id集合
        Set<Integer> topMenuIds = topMenus.stream().map(SysPermission::getId).collect(Collectors.toSet());
        //一级菜单下子菜单
        List<SysPermission> sonMenus = sysPermissionService.list(Wrappers.<SysPermission>lambdaQuery().in(SysPermission::getParentId, topMenuIds));
        set.addAll(topMenus);
        set.addAll(sonMenus);
        metaList = new ArrayList<>(set);
        //菜单排序
        CollectionUtil.sort(metaList, Comparator.comparing(SysPermission::getSortNo));
        return metaList;
    }
 
    /**
     * 通过角色Id查询角色权限,(添加默认菜单后)
     *
     * @param roleId
     * @return
     */
    public Set<Integer> queryRolePermission(String roleId) {
 
        Set<Integer> set = sysRolePermissionService.list(Wrappers.<SysRolePermission>lambdaQuery().eq(SysRolePermission::getRoleId, roleId)).stream().map(SysRolePermission::getPermissionId).collect(Collectors.toSet());
        //首页菜单ID
        set.add(6);
        //新增运营人员菜单权限为空
        // if (!set.isEmpty()) {
        //     set.addAll(getDefaultMenusId(set));
        // }
        return set;
    }
 
    /**
     * 菜单及子菜单id集合
     *
     * @return
     */
    public Set<Integer> getDefaultMenusId(Set<Integer> set) {
        // //一级菜单
        // List<SysPermission> topMenus = sysPermissionService.listByIds(set);
        // //子菜单
        // List<SysPermission> sonMenus = sysPermissionService.list(Wrappers.<SysPermission>lambdaQuery().in(SysPermission::getParentId, set));
        // Set<SysPermission> metaList = new HashSet<>();
        // metaList.addAll(topMenus);
        // metaList.addAll(sonMenus);
        // return metaList.stream().map(SysPermission::getId).collect(Collectors.toSet());
        return set;
    }
 
}