RolePermissionServiceImpl.java
2.24 KB
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
package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.dao.RolePermissionMapper;
import com.zhongzhi.dto.administer.AddRolePermissionDTO;
import com.zhongzhi.model.RolePermissionDO;
import com.zhongzhi.service.RolePermissionService;
import com.zhongzhi.vo.permission.PermissionVO;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 系统用户权限表 服务实现类
* </p>
*
* @author DengMin
* @since 2026-05-15
*/
@Service
public class RolePermissionServiceImpl extends ServiceImpl<RolePermissionMapper, RolePermissionDO> implements RolePermissionService {
@Override
public List<PermissionVO> queryRolePermission(RolePermissionDO rolePermissionDO) {
List<PermissionVO> list = this.baseMapper.getPermission(rolePermissionDO.getRole());
List<PermissionVO> treeList = new ArrayList();
list.forEach(permissions -> {
if (permissions.getParentId() == null) {
treeList.add(permissions);
}
list.forEach(p -> {
if (p.getParentId() != null) {
if (p.getParentId().equals(permissions.getId())) {
if (permissions.getChildNodeList() == null) {
permissions.setChildNodeList(new ArrayList<>());
}
permissions.getChildNodeList().add(p);
}
}
});
});
return list;
}
@Override
public void addRolePermission(AddRolePermissionDTO addRolePermissionDTO) {
this.baseMapper.delete(new QueryWrapper<RolePermissionDO>()
.lambda()
.eq(RolePermissionDO::getRole,addRolePermissionDTO.getRole()));
List<Long> permissionIds = addRolePermissionDTO.getPermissionIds();
permissionIds.stream().forEach(x->{
RolePermissionDO rolePermissionDO = new RolePermissionDO();
rolePermissionDO.setPermissionId(x);
rolePermissionDO.setRole(addRolePermissionDTO.getRole());
this.baseMapper.insert(rolePermissionDO);
});
}
}