You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
4.2 KiB

4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
3 weeks ago
  1. package com.example.demo.controller.coin;
  2. import com.example.demo.Util.JWTUtil;
  3. import com.example.demo.config.interfac.Log;
  4. import com.example.demo.domain.entity.Admin;
  5. import com.example.demo.domain.vo.coin.Page;
  6. import com.example.demo.domain.vo.coin.Result;
  7. import com.example.demo.domain.vo.coin.RoleVo;
  8. import com.example.demo.service.coin.RoleService;
  9. import jakarta.servlet.http.HttpServletRequest;
  10. import lombok.RequiredArgsConstructor;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.util.ObjectUtils;
  14. import org.springframework.web.bind.annotation.*;
  15. import org.springframework.web.context.request.RequestContextHolder;
  16. import org.springframework.web.context.request.ServletRequestAttributes;
  17. import java.util.Arrays;
  18. import java.util.List;
  19. /**
  20. * @program: gold-java
  21. * @ClassName RoleController
  22. * @description:
  23. * @author: Double
  24. * @create: 202507-15 11:23
  25. * @Version 1.0
  26. **/
  27. @RestController
  28. @RequestMapping("/role")
  29. @RequiredArgsConstructor
  30. @Slf4j
  31. @CrossOrigin
  32. public class RoleController {
  33. @Autowired
  34. private RoleService roleService;
  35. //新增角色
  36. @Log("新增角色")
  37. @PostMapping("/add")
  38. public Result addRole(@RequestBody RoleVo roleVo) {
  39. return roleService.addRole(roleVo);
  40. }
  41. //新增角色二期替补
  42. @Log("新增角色二期替补")
  43. @PostMapping("/add2")
  44. public Result addRole2(@RequestBody RoleVo roleVo) {
  45. return roleService.addRole2(roleVo);
  46. }
  47. //删除角色
  48. @Log("删除角色")
  49. @PostMapping("/delete")
  50. public Result deleteRole(@RequestBody RoleVo roleVo) {
  51. return roleService.deleteRole(roleVo);
  52. }
  53. //查找全部角色
  54. @Log("查询全部角色")
  55. @PostMapping("/selectAll")
  56. public Result selectRole() {
  57. return roleService.selectAllRole();
  58. }
  59. //获取上级角色的下属角色列表
  60. @Log("获取当前角色的下属角色列表")
  61. @PostMapping("/selectSub")
  62. public Result selectSub(@RequestBody RoleVo roleVo) {
  63. Integer id = roleVo.getId();
  64. List<RoleVo> list=roleService.selectSubRole(id);
  65. return Result.success(list);
  66. }
  67. //获取当前角色的上级角色
  68. // @Log("获取当前角色的上级角色")
  69. @PostMapping("/selectFather")
  70. public Result selectFather(@RequestBody RoleVo roleVo) {
  71. Integer id = roleVo.getId();
  72. RoleVo role = roleService.selectFather(id);
  73. return Result.success(role);
  74. }
  75. //角色明细筛选
  76. @Log("角色明细筛选")
  77. @PostMapping("/selectBy")
  78. public Result selectBy(@RequestBody Page page) {
  79. try {
  80. //页码校验
  81. if (ObjectUtils.isEmpty(page.getPageNum())) {
  82. return Result.error("页码数为空!");
  83. }
  84. //页面大小校验
  85. if (ObjectUtils.isEmpty(page.getPageSize())) {
  86. return Result.error("页大小为空!");
  87. } else {
  88. //解token权限
  89. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
  90. String token = request.getHeader("token");
  91. Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
  92. if (admin != null) {
  93. List<String> list = Arrays.asList(admin.getMarkets().split(","));
  94. page.getRoleVo().setMarkets(list);
  95. }
  96. else{
  97. return Result.error("角色为空");
  98. }
  99. return Result.success(roleService.selectBy(page.getPageNum(), page.getPageSize(), page.getRoleVo()));
  100. }
  101. } catch (Exception e) {
  102. e.printStackTrace();
  103. return Result.error("请检查筛选数据的格式");
  104. }
  105. }
  106. //查询所有直播渠道
  107. @PostMapping("/getChannel")
  108. public Result getChannel(){
  109. return Result.success(roleService.getChannel());
  110. }
  111. @Log("获取频道列表")
  112. @PostMapping("/selectChannel")
  113. public Result selectChannel(@RequestBody RoleVo roleVo) {
  114. Integer id = roleVo.getId();
  115. List<RoleVo> list=roleService.selectSubRole(id);
  116. return Result.success(list);
  117. }
  118. }