KZTRoleController.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. package com.ydtech.modules.admin.controller.kzt;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.exception.SystemException;
  5. import com.ydtech.modules.admin.model.SysMenu;
  6. import com.ydtech.modules.admin.model.SysRole;
  7. import com.ydtech.modules.admin.model.SysUser;
  8. import com.ydtech.modules.admin.model.dto.KZTRoleAndMenuDto;
  9. import com.ydtech.modules.admin.model.dto.KZTUserQueryDto;
  10. import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto;
  11. import com.ydtech.modules.admin.model.vo.SysUserRoleVo;
  12. import com.ydtech.modules.admin.service.SysMenuService;
  13. import com.ydtech.modules.admin.service.SysRoleMenuKztService;
  14. import com.ydtech.modules.admin.service.SysRoleService;
  15. import com.ydtech.modules.admin.service.SysUserRoleKztService;
  16. import com.ydtech.modules.base.controller.BaseController;
  17. import com.ydtech.modules.order.entity.BasePageResult;
  18. import io.swagger.annotations.Api;
  19. import io.swagger.annotations.ApiOperation;
  20. import org.apache.commons.lang3.StringUtils;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import org.springframework.web.bind.annotation.*;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. import java.util.stream.Collectors;
  27. /**
  28. * @version
  29. * @author: hxl
  30. * @Date: 2024/8/14 11:02
  31. * @Description: 控制台角色管理
  32. */
  33. @RestController
  34. @RequestMapping("kztRole")
  35. @Api(tags = "控制台角色")
  36. public class KZTRoleController extends BaseController {
  37. @Autowired
  38. private SysUserRoleKztService sysUserRoleKztService;
  39. @Autowired
  40. private SysRoleService sysRoleService;
  41. @Autowired
  42. private SysRoleMenuKztService sysRoleMenuKztService;
  43. @Autowired
  44. private SysMenuService sysMenuService;
  45. /**
  46. * @version
  47. * @author: hxl
  48. * @Date: 2024/8/14 18:13
  49. * @Description: 控制台角色新增和修改
  50. */
  51. @ApiOperation(value = "控制台角色新增和修改")
  52. @PostMapping(value = "/save")
  53. public HttpResult save(@RequestBody SysRole record) {
  54. LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
  55. lqw.eq(SysRole::getName, record.getName());
  56. lqw.eq(SysRole::getSysType, "2");
  57. List<SysRole> sysRoles = sysRoleService.list(lqw);
  58. if ((record.getId() == null || record.getId() == 0) && sysRoles != null && sysRoles.size()>0) {
  59. return HttpResult.error("角色名已存在!");
  60. }
  61. record.setSysType("2");
  62. return HttpResult.ok(sysRoleService.saveOrUpdate(record));
  63. }
  64. /**
  65. * @version
  66. * @author: hxl
  67. * @Date: 2024/8/14 18:54
  68. * @Description: 控制台角色刪除
  69. */
  70. @ApiOperation(value = "控制台角色刪除")
  71. @PostMapping(value = "/delete")
  72. @Transactional
  73. public HttpResult delete(@RequestBody List<SysRole> records) {
  74. List<Long> sysRoleIds = records.stream().map(SysRole::getId).collect(Collectors.toList());
  75. return HttpResult.ok(sysRoleService.removeBatchByIds(sysRoleIds));
  76. }
  77. /**
  78. * @version
  79. * @author: hxl
  80. * @Date: 2024/8/14 18:54
  81. * @Description: 控制台角色分页
  82. */
  83. @ApiOperation(value = "控制台角色分页")
  84. @PostMapping(value = "/findPage")
  85. public HttpResult<BasePageResult<SysRole>> findKztPage(@RequestBody SysUserRoleQueryDto sysUserRoleQueryDto) {
  86. return HttpResult.ok(sysRoleService.findKztPage(sysUserRoleQueryDto));
  87. }
  88. /**
  89. * @version
  90. * @author: hxl
  91. * @Date: 2024/8/14 18:54
  92. * @Description: 控制台所有角色
  93. */
  94. @ApiOperation(value = "控制台所有角色")
  95. @GetMapping(value = "/findAll")
  96. public HttpResult findAll(String sysType) {
  97. if (StringUtils.isBlank(sysType)) {
  98. throw new SystemException("系統类型不能为空,传2为控制台!!");
  99. }
  100. return HttpResult.ok(sysRoleService.findAllKzt(sysType));
  101. }
  102. /**
  103. * @version
  104. * @author: hxl
  105. * @Date: 2024/8/14 18:27
  106. * @Description:
  107. */
  108. @PostMapping(value = "/saveRoleMenus")
  109. @ApiOperation(value = "角色关联菜单保存")
  110. public HttpResult saveRoleMenus(@RequestBody KZTRoleAndMenuDto kZTRoleAndMenuDto) {
  111. if (kZTRoleAndMenuDto.getRoleId()==null) {
  112. throw new SystemException("角色id不能为空!!");
  113. }
  114. if (kZTRoleAndMenuDto.getSysType()==null) {
  115. throw new SystemException("系統类型不能为空!!");
  116. }
  117. if (kZTRoleAndMenuDto.getMenuIds()==null || kZTRoleAndMenuDto.getMenuIds().size()==0) {
  118. throw new SystemException("菜单集合不能为空!!");
  119. }
  120. try{
  121. sysRoleMenuKztService.saveRoleMenus(kZTRoleAndMenuDto);
  122. }catch(Exception e){
  123. return HttpResult.error("保存错误");
  124. }
  125. return HttpResult.ok("保存成功");
  126. }
  127. /**
  128. * @version
  129. * @author: hxl
  130. * @Date: 2024/8/14 16:58
  131. * @Description: 查询已授权的部门用户
  132. * dept/findTree 查询所有的机构
  133. */
  134. @ApiOperation(value = "根据参数查询已授权的部门用户")
  135. @PostMapping(value = "/queryPageByParam")
  136. public HttpResult<BasePageResult<SysUser>> queryPageByParam(@RequestBody KZTUserQueryDto kZTUserQueryDto) {
  137. BasePageResult<SysUser> result = sysUserRoleKztService.queryPageByParam(kZTUserQueryDto);
  138. return HttpResult.ok(result);
  139. }
  140. /**
  141. * @version
  142. * @author: hxl
  143. * @Date: 2024/8/14 16:36
  144. * @Description:
  145. */
  146. @PostMapping(value = "/saveUserRoleKzt")
  147. @ApiOperation(value = "保存控制台用户角色信息")
  148. public HttpResult saveUserRoleKzt(@RequestBody SysUserRoleVo sysUserRoleVo) {
  149. String userId = sysUserRoleVo.getUserId();
  150. String roleId = sysUserRoleVo.getRoleId();
  151. if (StringUtils.isBlank(userId)) {
  152. throw new SystemException("用戶id不能为空!!");
  153. }
  154. if (StringUtils.isBlank(roleId)) {
  155. throw new SystemException("角色id不能为空!!");
  156. }
  157. try{
  158. sysUserRoleKztService.saveUserRoleKzt(userId,roleId,"2");
  159. }catch(Exception e){
  160. return HttpResult.error("保存失败");
  161. }
  162. return HttpResult.ok("保存成功");
  163. }
  164. /**
  165. * @version
  166. * @author: hxl
  167. * @Date: 2024/8/14 16:36
  168. * @Description:
  169. */
  170. @GetMapping(value = "/findMenuIds")
  171. @ApiOperation(value = "通过角色关联菜单表")
  172. public HttpResult<List<SysMenu>> findMenuIds(Long roleId) {
  173. if (roleId==null) {
  174. throw new SystemException("角色id不能为空!!");
  175. }
  176. List<SysMenu> list= new ArrayList<SysMenu>();
  177. try{
  178. list= sysMenuService.getSysMenusByRoleId(roleId,"2");
  179. }catch(Exception e){
  180. return HttpResult.error("保存失败");
  181. }
  182. return HttpResult.ok(list);
  183. }
  184. }