RoleController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package com.jsh.erp.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.jsh.erp.base.BaseController;
  5. import com.jsh.erp.base.TableDataInfo;
  6. import com.jsh.erp.datasource.entities.Role;
  7. import com.jsh.erp.datasource.entities.RoleEx;
  8. import com.jsh.erp.service.RoleService;
  9. import com.jsh.erp.service.UserBusinessService;
  10. import com.jsh.erp.utils.Constants;
  11. import com.jsh.erp.utils.ErpInfo;
  12. import com.jsh.erp.utils.StringUtil;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.slf4j.Logger;
  16. import org.slf4j.LoggerFactory;
  17. import org.springframework.web.bind.annotation.*;
  18. import javax.annotation.Resource;
  19. import javax.servlet.http.HttpServletRequest;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. import static com.jsh.erp.utils.ResponseJsonUtil.returnJson;
  24. import static com.jsh.erp.utils.ResponseJsonUtil.returnStr;
  25. /**
  26. * @author ji sheng hua jshERP
  27. */
  28. @RestController
  29. @RequestMapping(value = "/role")
  30. @Api(tags = {"角色管理"})
  31. public class RoleController extends BaseController {
  32. private Logger logger = LoggerFactory.getLogger(RoleController.class);
  33. @Resource
  34. private RoleService roleService;
  35. @Resource
  36. private UserBusinessService userBusinessService;
  37. @GetMapping(value = "/info")
  38. @ApiOperation(value = "根据id获取信息")
  39. public String getList(@RequestParam("id") Long id,
  40. HttpServletRequest request) throws Exception {
  41. Role role = roleService.getRole(id);
  42. Map<String, Object> objectMap = new HashMap<>();
  43. if(role != null) {
  44. objectMap.put("info", role);
  45. return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
  46. } else {
  47. return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
  48. }
  49. }
  50. @GetMapping(value = "/list")
  51. @ApiOperation(value = "获取信息列表")
  52. public TableDataInfo getList(@RequestParam(value = Constants.SEARCH, required = false) String search,
  53. HttpServletRequest request)throws Exception {
  54. String name = StringUtil.getInfo(search, "name");
  55. String description = StringUtil.getInfo(search, "description");
  56. List<RoleEx> list = roleService.select(name, description);
  57. return getDataTable(list);
  58. }
  59. @PostMapping(value = "/add")
  60. @ApiOperation(value = "新增")
  61. public String addResource(@RequestBody JSONObject obj, HttpServletRequest request)throws Exception {
  62. Map<String, Object> objectMap = new HashMap<>();
  63. int insert = roleService.insertRole(obj, request);
  64. return returnStr(objectMap, insert);
  65. }
  66. @PutMapping(value = "/update")
  67. @ApiOperation(value = "修改")
  68. public String updateResource(@RequestBody JSONObject obj, HttpServletRequest request)throws Exception {
  69. Map<String, Object> objectMap = new HashMap<>();
  70. int update = roleService.updateRole(obj, request);
  71. return returnStr(objectMap, update);
  72. }
  73. @DeleteMapping(value = "/delete")
  74. @ApiOperation(value = "删除")
  75. public String deleteResource(@RequestParam("id") Long id, HttpServletRequest request)throws Exception {
  76. Map<String, Object> objectMap = new HashMap<>();
  77. int delete = roleService.deleteRole(id, request);
  78. return returnStr(objectMap, delete);
  79. }
  80. @DeleteMapping(value = "/deleteBatch")
  81. @ApiOperation(value = "批量删除")
  82. public String batchDeleteResource(@RequestParam("ids") String ids, HttpServletRequest request)throws Exception {
  83. Map<String, Object> objectMap = new HashMap<>();
  84. int delete = roleService.batchDeleteRole(ids, request);
  85. return returnStr(objectMap, delete);
  86. }
  87. @GetMapping(value = "/checkIsNameExist")
  88. @ApiOperation(value = "检查名称是否存在")
  89. public String checkIsNameExist(@RequestParam Long id, @RequestParam(value ="name", required = false) String name,
  90. HttpServletRequest request)throws Exception {
  91. Map<String, Object> objectMap = new HashMap<>();
  92. int exist = roleService.checkIsNameExist(id, name);
  93. if(exist > 0) {
  94. objectMap.put("status", true);
  95. } else {
  96. objectMap.put("status", false);
  97. }
  98. return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
  99. }
  100. /**
  101. * 角色对应应用显示
  102. * @param request
  103. * @return
  104. */
  105. @GetMapping(value = "/findUserRole")
  106. @ApiOperation(value = "查询用户的角色")
  107. public JSONArray findUserRole(@RequestParam("UBType") String type, @RequestParam("UBKeyId") String keyId,
  108. HttpServletRequest request)throws Exception {
  109. JSONArray arr = new JSONArray();
  110. try {
  111. //获取权限信息
  112. String ubValue = userBusinessService.getUBValueByTypeAndKeyId(type, keyId);
  113. List<Role> dataList = roleService.findUserRole();
  114. if (null != dataList) {
  115. for (Role role : dataList) {
  116. JSONObject item = new JSONObject();
  117. item.put("id", role.getId());
  118. item.put("text", role.getName());
  119. Boolean flag = ubValue.contains("[" + role.getId().toString() + "]");
  120. if (flag) {
  121. item.put("checked", true);
  122. }
  123. arr.add(item);
  124. }
  125. }
  126. } catch (Exception e) {
  127. logger.error(e.getMessage(), e);
  128. }
  129. return arr;
  130. }
  131. @GetMapping(value = "/allList")
  132. @ApiOperation(value = "查询全部角色列表")
  133. public List<Role> allList(HttpServletRequest request)throws Exception {
  134. return roleService.allList();
  135. }
  136. @GetMapping(value = "/tenantRoleList")
  137. @ApiOperation(value = "查询租户角色列表")
  138. public List<Role> tenantRoleList(HttpServletRequest request)throws Exception {
  139. return roleService.tenantRoleList();
  140. }
  141. /**
  142. * 批量设置状态-启用或者禁用
  143. * @param jsonObject
  144. * @param request
  145. * @return
  146. */
  147. @PostMapping(value = "/batchSetStatus")
  148. @ApiOperation(value = "批量设置状态")
  149. public String batchSetStatus(@RequestBody JSONObject jsonObject,
  150. HttpServletRequest request)throws Exception {
  151. Boolean status = jsonObject.getBoolean("status");
  152. String ids = jsonObject.getString("ids");
  153. Map<String, Object> objectMap = new HashMap<>();
  154. int res = roleService.batchSetStatus(status, ids);
  155. if(res > 0) {
  156. return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
  157. } else {
  158. return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
  159. }
  160. }
  161. }