KZTRoleController.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  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: whp
  130. * @Date: 2024/9/28
  131. * @Description:
  132. */
  133. @PostMapping(value = "/saveBatchRoleMenus")
  134. @ApiOperation(value = "批量角色关联菜单保存")
  135. public HttpResult saveBatchRoleMenus(@RequestBody KZTRoleAndMenuDto kZTRoleAndMenuDto) {
  136. if (kZTRoleAndMenuDto.getRoleIdIds().isEmpty()) {
  137. throw new SystemException("角色id不能为空!!");
  138. }
  139. if (kZTRoleAndMenuDto.getSysType()==null) {
  140. throw new SystemException("系統类型不能为空!!");
  141. }
  142. if (kZTRoleAndMenuDto.getMenuIds()==null || kZTRoleAndMenuDto.getMenuIds().isEmpty()) {
  143. throw new SystemException("菜单集合不能为空!!");
  144. }
  145. try{
  146. sysRoleMenuKztService.saveBatchRoleMenus(kZTRoleAndMenuDto);
  147. }catch(Exception e){
  148. return HttpResult.error("保存错误");
  149. }
  150. return HttpResult.ok("保存成功");
  151. }
  152. /**
  153. * @version
  154. * @author: hxl
  155. * @Date: 2024/8/14 16:58
  156. * @Description: 查询已授权的部门用户
  157. * dept/findTree 查询所有的机构
  158. */
  159. @ApiOperation(value = "根据参数查询已授权的部门用户")
  160. @PostMapping(value = "/queryPageByParam")
  161. public HttpResult<BasePageResult<SysUser>> queryPageByParam(@RequestBody KZTUserQueryDto kZTUserQueryDto) {
  162. BasePageResult<SysUser> result = sysUserRoleKztService.queryPageByParam(kZTUserQueryDto);
  163. return HttpResult.ok(result);
  164. }
  165. /**
  166. * @version
  167. * @author: hxl
  168. * @Date: 2024/8/14 16:36
  169. * @Description:
  170. */
  171. @PostMapping(value = "/saveUserRoleKzt")
  172. @ApiOperation(value = "保存控制台用户角色信息")
  173. public HttpResult saveUserRoleKzt(@RequestBody SysUserRoleVo sysUserRoleVo) {
  174. String userId = sysUserRoleVo.getUserId();
  175. String roleId = sysUserRoleVo.getRoleId();
  176. if (StringUtils.isBlank(userId)) {
  177. throw new SystemException("用戶id不能为空!!");
  178. }
  179. if (StringUtils.isBlank(roleId)) {
  180. throw new SystemException("角色id不能为空!!");
  181. }
  182. try{
  183. sysUserRoleKztService.saveUserRoleKzt(userId,roleId,"2");
  184. }catch(Exception e){
  185. return HttpResult.error("保存失败");
  186. }
  187. return HttpResult.ok("保存成功");
  188. }
  189. /**
  190. * @version
  191. * @author: hxl
  192. * @Date: 2024/8/14 16:36
  193. * @Description:
  194. */
  195. @GetMapping(value = "/findMenuIds")
  196. @ApiOperation(value = "通过角色关联菜单表")
  197. public HttpResult<List<SysMenu>> findMenuIds(Long roleId) {
  198. if (roleId==null) {
  199. throw new SystemException("角色id不能为空!!");
  200. }
  201. List<SysMenu> list= new ArrayList<SysMenu>();
  202. try{
  203. list= sysMenuService.getSysMenusByRoleId(roleId,"2");
  204. }catch(Exception e){
  205. return HttpResult.error("保存失败");
  206. }
  207. return HttpResult.ok(list);
  208. }
  209. /**
  210. * @version
  211. * @author: hxl
  212. * @Date: 2024/8/14 16:36
  213. * @Description:
  214. */
  215. @GetMapping(value = "/findUseId")
  216. @ApiOperation(value = "通过用户Id查询权限表")
  217. public HttpResult<Object> findByUseId(String userId) {
  218. if (userId==null) {
  219. throw new SystemException("用户id不能为空!!");
  220. }
  221. int count =0;
  222. try{
  223. if("admin".equals(userId)){
  224. count=1;
  225. }else{
  226. count= sysMenuService.findByUseId(userId,"2");
  227. }
  228. }catch(Exception e){
  229. }
  230. return HttpResult.ok(count>0?true:false);
  231. }
  232. }