d59e75dd692aa09e20c983c62ad2117a46053aec.svn-base 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. package cn.com.goldenwater.dcproj.controller.system;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.dto.BisInspAllRelationPersPrivDto;
  5. import cn.com.goldenwater.dcproj.dto.PrivDto;
  6. import cn.com.goldenwater.dcproj.dto.PrivSysDto;
  7. import cn.com.goldenwater.dcproj.enums.EnumBean;
  8. import cn.com.goldenwater.dcproj.model.Priv;
  9. import cn.com.goldenwater.dcproj.param.GetPrivByRoleIdParam;
  10. import cn.com.goldenwater.dcproj.param.GetPrivByUserIdParam;
  11. import cn.com.goldenwater.dcproj.param.PrivParam;
  12. import cn.com.goldenwater.dcproj.param.RolePrivParam;
  13. import cn.com.goldenwater.dcproj.service.PrivService;
  14. import cn.com.goldenwater.dcproj.service.RolePrivService;
  15. import cn.com.goldenwater.dcproj.target.Authority;
  16. import cn.com.goldenwater.dcproj.target.VerifyBean;
  17. import cn.com.goldenwater.id.util.UuidUtil;
  18. import com.github.pagehelper.PageInfo;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import io.swagger.annotations.ApiParam;
  22. import org.slf4j.Logger;
  23. import org.slf4j.LoggerFactory;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.util.Assert;
  26. import org.springframework.web.bind.annotation.*;
  27. import java.util.ArrayList;
  28. import java.util.List;
  29. /**
  30. * @author lune
  31. * @date 2018-2-13
  32. */
  33. @Api(value = "权限管理", tags = "002权限管理")
  34. @RestController
  35. @RequestMapping("/sys/privs")
  36. public class PrivController extends BaseController {
  37. private Logger logger = LoggerFactory.getLogger(getClass());
  38. @Autowired
  39. private PrivService privService;
  40. @Autowired
  41. private RolePrivService rolePrivService;
  42. @ApiOperation(value = "添加权限")
  43. @RequestMapping(value = "/insert", method = RequestMethod.POST)
  44. public BaseResponse<Priv> insert(@ApiParam(name = "priv", value = "Priv", required = true) @RequestBody Priv priv) throws Exception {
  45. priv.setId(UuidUtil.uuid());
  46. Priv p = privService.add(priv);
  47. return buildSuccessResponse(p);
  48. }
  49. @ApiOperation(value = "根据ID删除权限")
  50. @RequestMapping(value = "/{id}", method = RequestMethod.POST)
  51. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) throws Exception {
  52. privService.remove(id);
  53. return buildSuccessResponse();
  54. }
  55. @ApiOperation(value = "更新权限信息")
  56. @RequestMapping(value = "/update", method = RequestMethod.POST)
  57. public BaseResponse<Priv> update(@ApiParam(name = "priv", value = "Priv", required = true) @RequestBody Priv priv) throws Exception {
  58. Assert.notNull(priv.getId(), "主键id为必填参数");
  59. Priv p = privService.modify(priv);
  60. return buildSuccessResponse(p);
  61. }
  62. @ApiOperation(value = "根据ID获取权限(单表)")
  63. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  64. public BaseResponse<Priv> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  65. Priv priv = privService.get(id);
  66. return buildSuccessResponse(priv);
  67. }
  68. @ApiOperation(value = "根据ID获取子权限")
  69. @RequestMapping(value = "/list-by-parent/{id}", method = RequestMethod.GET)
  70. public BaseResponse<List<Priv>> getChildren(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  71. Assert.notNull(id, "ID为必填参数");
  72. PrivParam privParam = new PrivParam();
  73. privParam.setParentId(id);
  74. List<Priv> list = privService.findList(privParam);
  75. return buildSuccessResponse(list);
  76. }
  77. @ApiOperation(value = "分页获取权限-不包含分页信息")
  78. @RequestMapping(value = "/page", method = RequestMethod.POST)
  79. public BaseResponse<List<PrivDto>> getPagePriv(@ApiParam(name = "privParam", value = "条件", required = false) @RequestBody(required = false) PrivParam privParam) {
  80. List<PrivDto> list = privService.findPageStatic(privParam);
  81. return buildSuccessResponse(list);
  82. }
  83. @ApiOperation(value = "分页获取权限-包含分页信息")
  84. @RequestMapping(value = "/pageInfoCascades", method = RequestMethod.POST)
  85. public BaseResponse<PageInfo<PrivDto>> getPagePrivInfo(@ApiParam(name = "privParam", value = "条件", required = false) @RequestBody PrivParam privParam) {
  86. PageInfo<PrivDto> page = privService.findPageInfoStatic(privParam);
  87. return buildSuccessResponse(page);
  88. }
  89. @ApiOperation(value = "分页获取权限列表-包含分页信息")
  90. @RequestMapping(value = "/pageInfo", method = RequestMethod.POST)
  91. public BaseResponse<PageInfo<Priv>> getMenuPageInfo(@ApiParam(name = "privParam", value = "PrivParam", required = false) @RequestBody PrivParam privParam) {
  92. PageInfo<Priv> page = privService.findPageInfo(privParam);
  93. return buildSuccessResponse(page);
  94. }
  95. @VerifyBean
  96. @ApiOperation(value = "根据角色ID获取权限树,角色已有权限CHECKED=TRUE")
  97. @RequestMapping(value = "/tree-by-role", method = RequestMethod.POST)
  98. public BaseResponse<PageInfo<PrivDto>> getPrivTreeByRoleId(@RequestBody GetPrivByRoleIdParam p) throws Exception {
  99. PageInfo<PrivDto> list = privService.findTreeByRoleId(p);
  100. return buildSuccessResponse(list);
  101. }
  102. @VerifyBean
  103. @ApiOperation(value = "根据角色ID获取权限树,角色已有权限CHECKED=TRUE")
  104. @RequestMapping(value = "/listByRoleId", method = RequestMethod.POST)
  105. public BaseResponse<List<PrivDto>> listByRoleId(@RequestBody GetPrivByRoleIdParam p) {
  106. return buildSuccessResponse(privService.listByRoleId(p));
  107. }
  108. @VerifyBean
  109. @ApiOperation(value = "根据角色ID获取权限树,角色已有权限CHECKED=TRUE")
  110. @RequestMapping(value = "/tree-shape-by-role", method = RequestMethod.POST)
  111. public BaseResponse<PageInfo<Priv>> getPrivTreeShapeByRoleId(@RequestBody GetPrivByRoleIdParam p) throws Exception {
  112. PageInfo<Priv> list = privService.findTreeShapeByRoleId(p);
  113. return buildSuccessResponse(list);
  114. }
  115. @ApiOperation(value = "获取所有权限")
  116. @RequestMapping(value = "/findList", method = RequestMethod.POST)
  117. public BaseResponse<List<Priv>> findList(@ApiParam(name = "privParam", value = "PrivParam", required = false) @RequestBody PrivParam privParam) {
  118. List<Priv> list = privService.findList(privParam);
  119. return buildSuccessResponse(list);
  120. }
  121. @ApiOperation(value = "根据角色ID和权限ID删除该角色对应的权限(可以传多个)")
  122. @RequestMapping(value = "/delete-role-priv", method = RequestMethod.POST)
  123. public BaseResponse deleteByRole(@ApiParam(name = "paramList", value = "paramList(数组)", required = true) @RequestBody List<RolePrivParam> paramList) {
  124. int ret = rolePrivService.deleteList(paramList);
  125. return buildSuccessResponse();
  126. }
  127. @ApiOperation(value = "将权限ID赋给角色ID(可以传多个)")
  128. @RequestMapping(value = "/insert-role-priv", method = RequestMethod.POST)
  129. public BaseResponse addRolePriv(@ApiParam(name = "paramList", value = "paramList(数组)", required = true) @RequestBody List<RolePrivParam> paramList) {
  130. int ret = rolePrivService.addRolePriv(paramList);
  131. return buildSuccessResponse();
  132. }
  133. @Authority
  134. @ApiOperation(value = "更新角色与权限的关联关系")
  135. @RequestMapping(value = "/updateRolePriv", method = RequestMethod.POST)
  136. public BaseResponse updateRolePriv(@ApiParam(name = "string", value = "privIds", required = true) @RequestBody List<String> privIds, String roleId) {
  137. Assert.notEmpty(privIds, "权限Id集合不能为空");
  138. Assert.notNull(roleId, "角色Id不能为空");
  139. ArrayList<RolePrivParam> rolePrivParams = new ArrayList<>();
  140. for (String privId : privIds) {
  141. RolePrivParam rolePrivParam = new RolePrivParam();
  142. rolePrivParam.setPrivId(privId);
  143. rolePrivParam.setRoleId(roleId);
  144. rolePrivParams.add(rolePrivParam);
  145. }
  146. RolePrivParam param = new RolePrivParam();
  147. param.setRoleId(roleId);
  148. rolePrivService.updateRolePriv(rolePrivParams, param);
  149. return buildSuccessResponse();
  150. }
  151. @ApiOperation(value = "根据用户id获取权限")
  152. @RequestMapping(value = "/getPrivByUserId", method = RequestMethod.POST)
  153. public BaseResponse<BisInspAllRelationPersPrivDto> getPrivByUserId(@RequestBody GetPrivByUserIdParam p) {
  154. return buildSuccessResponse(privService.getPrivByUserId(p));
  155. }
  156. @ApiOperation(value = "根据用户id获取系统标识")
  157. @RequestMapping(value = "/getSysFlagByUserId", method = RequestMethod.GET)
  158. public BaseResponse<List<EnumBean>> getSysFlagByUserId(@RequestParam("userId") String userId) throws Exception {
  159. List<EnumBean> dto = privService.getSysFlagByUserId(userId);
  160. return buildSuccessResponse(dto);
  161. }
  162. @Authority
  163. @VerifyBean
  164. @ApiOperation(value = "根据用户id获取图片列表")
  165. @RequestMapping(value = "/getPrivViewByUserId", method = RequestMethod.POST)
  166. public BaseResponse<List<PrivSysDto>> getPrivViewByUserId(@RequestBody GetPrivByUserIdParam p) throws Exception {
  167. p.setOrgId(getCurrentOrgId());
  168. List<PrivSysDto> dto = privService.getPrivViewByUserId(p);
  169. return buildSuccessResponse(dto);
  170. }
  171. }