123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- package com.qmth.distributed.print.api;
- import com.qmth.boot.api.constant.ApiConstant;
- import com.qmth.distributed.print.business.bean.dto.DataPermissionInfo;
- import com.qmth.distributed.print.business.bean.params.SysRolePrivilegeParams;
- import com.qmth.distributed.print.business.service.BasicRoleDataPermissionService;
- import com.qmth.teachcloud.common.annotation.OperationLogDetail;
- import com.qmth.teachcloud.common.contant.SystemConstant;
- import com.qmth.teachcloud.common.entity.SysPrivilege;
- import com.qmth.teachcloud.common.entity.SysRole;
- import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
- import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
- import com.qmth.teachcloud.common.service.SysPrivilegeService;
- import com.qmth.teachcloud.common.service.SysRoleService;
- import com.qmth.teachcloud.common.util.Result;
- import com.qmth.teachcloud.common.util.ResultUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import java.util.List;
- import java.util.Objects;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 菜单权限表 前端控制器
- * </p>
- *
- * @author xf
- * @since 2021-03-23
- */
- @Api(tags = "菜单权限Controller")
- @RestController
- @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_SYS + "/privilege")
- public class SysPrivilegeController {
- @Resource
- private SysPrivilegeService sysPrivilegeService;
- @Resource
- private BasicRoleDataPermissionService basicRoleDataPermissionService;
- @Resource
- private SysRoleService sysRoleService;
- /**
- * 查询
- *
- * @return
- */
- @ApiOperation(value = "查询")
- @RequestMapping(value = "/list", method = RequestMethod.POST)
- @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
- public Result list() {
- return ResultUtil.ok(sysPrivilegeService.listPrivilegeTreeNew());
- }
- /**
- * 查询需要授权的菜单
- *
- * @return
- */
- @ApiOperation(value = "查询需要授权的菜单")
- @RequestMapping(value = "/list_auth", method = RequestMethod.POST)
- @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
- public Result listAuth() {
- return ResultUtil.ok(sysPrivilegeService.listPrivilegeTreeAuth());
- }
- /**
- * 新增/修改
- *
- * @param privilege
- * @return
- */
- @ApiOperation(value = "新增/修改")
- @RequestMapping(value = "/save", method = RequestMethod.POST)
- @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.EDIT)
- public Result save(@RequestBody SysPrivilege privilege) {
- return ResultUtil.ok(sysPrivilegeService.savePrivilege(privilege));
- }
- /**
- * 删除
- *
- * @param privilege
- * @return
- */
- @ApiOperation(value = "删除")
- @RequestMapping(value = "/remove", method = RequestMethod.POST)
- @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.DELETE)
- public Result remove(@RequestBody SysPrivilege privilege) {
- return ResultUtil.ok(sysPrivilegeService.remove(privilege.getId()));
- }
- /**
- * 角色已绑定权限列表
- *
- * @param roleId
- * @return
- */
- @ApiOperation(value = "角色已绑定权限列表")
- @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
- @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
- public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
- SysRole sysRole = sysRoleService.getById(roleId);
- if (Objects.isNull(sysRole)){
- throw ExceptionResultEnum.ERROR.exception("角色不存在");
- }
- SysRolePrivilegeParams result = new SysRolePrivilegeParams();
- // 该角色拥有的权限集合
- result.setPrivilegeIds(sysPrivilegeService.getRolePrivileges(roleId));
- // 该角色拥有的数据权限
- result.setDataPermissionInfo(basicRoleDataPermissionService.findRoleDataPermissionInfo(roleId));
- result.setId(roleId);
- result.setInterpret(sysRole.getInterpret());
- result.setName(sysRole.getName());
- return ResultUtil.ok(result);
- }
- }
|