|
1 | 1 | package top.cadecode.uniboot.controller.system; |
2 | 2 |
|
| 3 | +import com.github.pagehelper.PageInfo; |
3 | 4 | import io.swagger.annotations.Api; |
4 | 5 | import io.swagger.annotations.ApiOperation; |
5 | 6 | import lombok.RequiredArgsConstructor; |
6 | 7 | import lombok.extern.slf4j.Slf4j; |
| 8 | +import org.springframework.transaction.annotation.Transactional; |
7 | 9 | import org.springframework.validation.annotation.Validated; |
8 | 10 | import org.springframework.web.bind.annotation.PostMapping; |
9 | 11 | import org.springframework.web.bind.annotation.RequestBody; |
10 | 12 | import org.springframework.web.bind.annotation.RequestMapping; |
11 | 13 | import org.springframework.web.bind.annotation.RestController; |
12 | 14 | import top.cadecode.uniboot.common.annotation.ApiFormat; |
| 15 | +import top.cadecode.uniboot.common.response.PageResult; |
13 | 16 | import top.cadecode.uniboot.system.bean.po.SysRole; |
14 | 17 | import top.cadecode.uniboot.system.bean.vo.SysRoleVo.SysRoleListVo; |
| 18 | +import top.cadecode.uniboot.system.bean.vo.SysRoleVo.SysRoleUnionVo; |
15 | 19 | import top.cadecode.uniboot.system.convert.SysRoleConvert; |
| 20 | +import top.cadecode.uniboot.system.request.SysRoleRequest; |
16 | 21 | import top.cadecode.uniboot.system.request.SysRoleRequest.SysRoleMappingRequest; |
| 22 | +import top.cadecode.uniboot.system.request.SysRoleRequest.SysRoleUnionRequest; |
17 | 23 | import top.cadecode.uniboot.system.service.SysRoleService; |
18 | 24 |
|
| 25 | +import javax.validation.Valid; |
19 | 26 | import javax.validation.constraints.NotEmpty; |
20 | 27 | import java.util.List; |
21 | 28 |
|
@@ -78,4 +85,42 @@ public boolean addApiMapping(@RequestBody @NotEmpty List<SysRoleMappingRequest> |
78 | 85 | public boolean removeApiMapping(@RequestBody @NotEmpty List<SysRoleMappingRequest> request) { |
79 | 86 | return sysRoleService.removeRoleApi(request) > 0; |
80 | 87 | } |
| 88 | + |
| 89 | + @ApiOperation("查询角色列表(带菜单、api)") |
| 90 | + @PostMapping("page_union_vo") |
| 91 | + public PageResult<SysRoleUnionVo> pageUnionVo(@RequestBody @Valid SysRoleUnionRequest request) { |
| 92 | + PageInfo<SysRoleUnionVo> page = sysRoleService.pageUnionVo(request); |
| 93 | + return new PageResult<>((int) page.getTotal(), page.getList()); |
| 94 | + } |
| 95 | + |
| 96 | + @ApiOperation("查询角色列表(带菜单、api)byRoleIds") |
| 97 | + @PostMapping("list_union_vo_by_role_ids") |
| 98 | + public List<SysRoleUnionVo> listUnionVoByRoleIds(@RequestBody @NotEmpty List<Long> roleIds) { |
| 99 | + return sysRoleService.listUnionVoByRoleIds(roleIds); |
| 100 | + } |
| 101 | + |
| 102 | + @ApiOperation("更新角色") |
| 103 | + @PostMapping("update") |
| 104 | + public boolean update(@RequestBody @Valid SysRoleRequest.SysRoleUpdateRequest request) { |
| 105 | + SysRole po = SysRoleConvert.INSTANCE.requestToPo(request); |
| 106 | + return sysRoleService.updateById(po); |
| 107 | + } |
| 108 | + |
| 109 | + @ApiOperation("添加角色") |
| 110 | + @PostMapping("add") |
| 111 | + public boolean add(@RequestBody @Valid SysRoleRequest.SysRoleAddRequest request) { |
| 112 | + SysRole sysRole = SysRoleConvert.INSTANCE.requestToPo(request); |
| 113 | + return sysRoleService.save(sysRole); |
| 114 | + } |
| 115 | + |
| 116 | + @ApiOperation("删除角色(多选)") |
| 117 | + @PostMapping("delete") |
| 118 | + @Transactional(rollbackFor = Exception.class) |
| 119 | + public boolean delete(@RequestBody @NotEmpty List<Long> roleIdList) { |
| 120 | + // 清理角色绑定关系 |
| 121 | + sysRoleService.removeRoleApiByRoleIds(roleIdList); |
| 122 | + sysRoleService.removeRoleMenuByRoleIds(roleIdList); |
| 123 | + sysRoleService.removeRoleUserByRoleIds(roleIdList); |
| 124 | + return sysRoleService.removeBatchByIds(roleIdList); |
| 125 | + } |
81 | 126 | } |
0 commit comments