SysRoleMenuController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.szwl.controller;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  5. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  6. import com.gexin.fastjson.JSON;
  7. import com.szwl.annotation.Audit;
  8. import com.szwl.constant.AuditEnum;
  9. import com.szwl.constant.MenuEnum;
  10. import com.szwl.constant.ResponseCodesEnum;
  11. import com.szwl.exception.BizException;
  12. import com.szwl.model.bo.R;
  13. import com.szwl.model.bo.ResponseModel;
  14. import com.szwl.model.dto.OptionDTO;
  15. import com.szwl.model.entity.SysRole;
  16. import com.szwl.model.param.AddSysRoleParam;
  17. import com.szwl.model.param.UpdateSysRoleParam;
  18. import com.szwl.service.SysRoleService;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import javax.validation.Valid;
  24. import java.util.List;
  25. import java.util.Optional;
  26. import java.util.stream.Collectors;
  27. @RestController
  28. @RequestMapping("/sysRoleMenu")
  29. @Api(value = "/sysRoleMenu", tags = {"角色权限菜单"})
  30. public class SysRoleMenuController {
  31. @Autowired
  32. SysRoleService sysRoleService;
  33. @GetMapping("/listMenuOption")
  34. @ApiOperation("获取所有菜单下拉框")
  35. public ResponseModel<List<OptionDTO>> listMenuOption() {
  36. List<OptionDTO> list = MenuEnum.enumToOptionList();
  37. return R.ok(list);
  38. }
  39. @GetMapping("/listRoleOption")
  40. @ApiOperation("获取所有角色下拉框")
  41. public ResponseModel<List<OptionDTO>> listRoleOption(String adminId) {
  42. if(org.apache.commons.lang.StringUtils.isEmpty(adminId)){
  43. return R.fail(ResponseCodesEnum.A0100);
  44. }
  45. LambdaQueryWrapper<SysRole> query = Wrappers.lambdaQuery();
  46. query.eq(SysRole::getAdminId,adminId);
  47. List<OptionDTO> list = sysRoleService.list(query)
  48. .stream()
  49. .map(e -> new OptionDTO()
  50. .setLabel(e.getRoleName())
  51. .setValue(e.getRoleId())
  52. ).collect(Collectors.toList());
  53. return R.ok(list);
  54. }
  55. @GetMapping("/pageRoleOption")
  56. @ApiOperation("获取所有角色")
  57. public ResponseModel<List<SysRole>> pageRoleOption(String adminId) {
  58. if(org.apache.commons.lang.StringUtils.isEmpty(adminId)){
  59. return R.fail(ResponseCodesEnum.A0100);
  60. }
  61. LambdaQueryWrapper<SysRole> query = Wrappers.lambdaQuery();
  62. query.eq(SysRole::getAdminId,adminId);
  63. if(!adminId.equals("1")){
  64. query.ne(SysRole::getRoleName,"商家");
  65. }
  66. List<SysRole> list = sysRoleService.list(query);
  67. return R.ok(list);
  68. }
  69. @GetMapping("/deleteRoleOption")
  70. @ApiOperation("删除角色")
  71. public ResponseModel<?> deleteRoleOption(String roleId,String adminId) {
  72. if(org.apache.commons.lang.StringUtils.isEmpty(roleId)){
  73. return R.fail(ResponseCodesEnum.A0100);
  74. }
  75. LambdaQueryWrapper<SysRole> query = Wrappers.lambdaQuery();
  76. query.eq(SysRole::getRoleId,roleId);
  77. query.eq(SysRole::getAdminId,adminId);
  78. List<SysRole> list = sysRoleService.list(query);
  79. if(list.size()>0){
  80. SysRole sysRole = list.get(0);
  81. sysRoleService.removeById(sysRole.getRoleId());
  82. return R.ok();
  83. }
  84. return R.fail(ResponseCodesEnum.A0100);
  85. }
  86. @PostMapping("/addSysRole")
  87. @ApiOperation("新增角色及权限菜单")
  88. @Audit(type = AuditEnum.INSERT,content = "#loginUser.name + '新增角色及权限菜单'")
  89. public ResponseModel<?> addSysRole(@RequestBody @Valid AddSysRoleParam param) {
  90. if(param.getRoleName().equals("商家")&&param.getAdminId().equals("1")){
  91. return R.fail(ResponseCodesEnum.A0001,"不能起商家这个名称");
  92. }
  93. sysRoleService.addSysRole(param);
  94. return R.ok();
  95. }
  96. @PostMapping("/updateSysRole")
  97. @ApiOperation("修改角色及权限菜单")
  98. @Audit(type = AuditEnum.UPDATE,content = "#loginUser.name + '修改角色及权限菜单'")
  99. public ResponseModel<?> updateSysRole(@RequestBody @Valid UpdateSysRoleParam param) {
  100. sysRoleService.updateSysRole(param);
  101. return R.ok();
  102. }
  103. }