ManagerController.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.qxgmat.controller.admin;
  2. import com.github.pagehelper.Page;
  3. import com.nuliji.tools.PageMessage;
  4. import com.nuliji.tools.Response;
  5. import com.nuliji.tools.ResponseHelp;
  6. import com.nuliji.tools.Transform;
  7. import com.qxgmat.data.constants.enums.status.DirectionStatus;
  8. import com.qxgmat.data.dao.entity.Manager;
  9. import com.qxgmat.data.dao.entity.ManagerRole;
  10. import com.qxgmat.data.relation.entity.ManagerRelation;
  11. import com.qxgmat.dto.admin.request.ManagerDto;
  12. import com.qxgmat.dto.admin.request.ManagerRoleDto;
  13. import com.qxgmat.service.ManagerService;
  14. import com.qxgmat.service.inline.ManagerLogService;
  15. import com.qxgmat.service.inline.ManagerRoleService;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.validation.annotation.Validated;
  19. import org.springframework.web.bind.annotation.*;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpSession;
  22. import java.util.Collection;
  23. import java.util.List;
  24. @RestController("AdminManagerController")
  25. @RequestMapping("/admin/manager")
  26. public class ManagerController {
  27. @Autowired
  28. private ManagerLogService managerLogService;
  29. @Autowired
  30. private ManagerService managerService;
  31. @Autowired
  32. private ManagerRoleService managerRoleService;
  33. @RequestMapping(value = "/add", method = RequestMethod.POST)
  34. @ApiOperation(value = "添加管理账号", httpMethod = "POST")
  35. public Response<Manager> add(@RequestBody @Validated ManagerDto dto, HttpServletRequest request) {
  36. Manager entity = Transform.dtoToEntity(dto);
  37. entity = managerService.add(entity);
  38. managerLogService.log(request);
  39. return ResponseHelp.success(entity);
  40. }
  41. @RequestMapping(value = "/edit", method = RequestMethod.PUT)
  42. @ApiOperation(value = "修改管理账号", httpMethod = "PUT")
  43. public Response<Boolean> edit(@RequestBody @Validated ManagerDto dto, HttpServletRequest request) {
  44. Manager entity = Transform.dtoToEntity(dto);
  45. entity = managerService.edit(entity);
  46. managerLogService.log(request);
  47. return ResponseHelp.success(true);
  48. }
  49. @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
  50. @ApiOperation(value = "删除管理账号", httpMethod = "DELETE")
  51. public Response<Boolean> delete(@RequestParam int id, HttpServletRequest request) {
  52. managerLogService.log(request);
  53. return ResponseHelp.success(managerService.delete(id));
  54. }
  55. @RequestMapping(value = "/detail", method = RequestMethod.GET)
  56. @ApiOperation(value = "获取管理账号", httpMethod = "GET")
  57. public Response<ManagerRelation> detail(@RequestParam int id, HttpSession session) {
  58. Manager entity = managerService.get(id);
  59. ManagerRelation relation = Transform.convert(entity, ManagerRelation.class);
  60. relation.setRole(managerRoleService.get(relation.getRoleId()));
  61. return ResponseHelp.success(relation);
  62. }
  63. @RequestMapping(value = "/list", method = RequestMethod.GET)
  64. @ApiOperation(value = "管理账号列表", httpMethod = "GET")
  65. public Response<PageMessage<ManagerRelation>> list(
  66. @RequestParam(required = false, defaultValue = "1") int page,
  67. @RequestParam(required = false, defaultValue = "100") int size,
  68. @RequestParam(required = false, defaultValue = "id") String order,
  69. @RequestParam(required = false, defaultValue = "desc") String direction,
  70. HttpSession session) {
  71. Page<Manager> p = managerService.select(page, size, order, DirectionStatus.ValueOf(direction));
  72. List<ManagerRelation> pr = Transform.convert(p, ManagerRelation.class);
  73. // 绑定角色
  74. Collection ids = Transform.getIds(p, Manager.class, "roleId");
  75. List<ManagerRole> roleList = managerRoleService.select(ids);
  76. Transform.combine(pr, roleList, ManagerRelation.class, "roleId", "role", ManagerRole.class, "id");
  77. return ResponseHelp.success(pr, page, size, p.getTotal());
  78. }
  79. @RequestMapping(value = "/role/add", method = RequestMethod.POST)
  80. @ApiOperation(value = "添加管理角色", httpMethod = "POST")
  81. public Response<ManagerRole> addRole(@RequestBody @Validated ManagerRoleDto dto, HttpServletRequest request) {
  82. ManagerRole entity = Transform.dtoToEntity(dto);
  83. entity = managerRoleService.add(entity);
  84. managerLogService.log(request);
  85. return ResponseHelp.success(entity);
  86. }
  87. @RequestMapping(value = "/role/edit", method = RequestMethod.PUT)
  88. @ApiOperation(value = "修改管理角色", httpMethod = "PUT")
  89. public Response<Boolean> editRole(@RequestBody @Validated ManagerRoleDto dto, HttpServletRequest request) {
  90. ManagerRole entity = Transform.dtoToEntity(dto);
  91. entity = managerRoleService.edit(entity);
  92. managerLogService.log(request);
  93. return ResponseHelp.success(true);
  94. }
  95. @RequestMapping(value = "/role/delete", method = RequestMethod.DELETE)
  96. @ApiOperation(value = "删除管理角色", httpMethod = "DELETE")
  97. public Response<Boolean> deleteRole(@RequestParam int id, HttpServletRequest request) {
  98. managerLogService.log(request);
  99. return ResponseHelp.success(managerRoleService.delete(id));
  100. }
  101. @RequestMapping(value = "/role/detail", method = RequestMethod.GET)
  102. @ApiOperation(value = "获取管理角色", httpMethod = "GET")
  103. public Response<ManagerRole> detailRole(@RequestParam int id, HttpSession session) {
  104. ManagerRole entity = managerRoleService.get(id);
  105. return ResponseHelp.success(entity);
  106. }
  107. @RequestMapping(value = "/role/list", method = RequestMethod.GET)
  108. @ApiOperation(value = "管理角色列表", httpMethod = "GET")
  109. public Response<PageMessage<ManagerRole>> listRole(
  110. @RequestParam(required = false, defaultValue = "1") int page,
  111. @RequestParam(required = false, defaultValue = "100") int size,
  112. @RequestParam(required = false, defaultValue = "id") String order,
  113. @RequestParam(required = false, defaultValue = "desc") String direction,
  114. HttpSession session) {
  115. Page<ManagerRole> p = managerRoleService.select(page, size, order, DirectionStatus.ValueOf(direction));
  116. return ResponseHelp.success(p, page, size, p.getTotal());
  117. }
  118. }