AppController.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.qmth.ops.api.controller.admin;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.qmth.ops.api.constants.OpsApiConstants;
  4. import com.qmth.ops.api.security.AdminSession;
  5. import com.qmth.ops.biz.domain.App;
  6. import com.qmth.ops.biz.domain.AppDTO;
  7. import com.qmth.ops.biz.domain.AppUser;
  8. import com.qmth.ops.biz.domain.Role;
  9. import com.qmth.ops.biz.query.AppQuery;
  10. import com.qmth.ops.biz.service.AppService;
  11. import com.qmth.ops.biz.service.AppUserService;
  12. import com.qmth.ops.biz.service.UserService;
  13. import com.qmth.ops.biz.service.VersionService;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.annotation.Resource;
  16. import java.util.List;
  17. @RestController
  18. @RequestMapping(OpsApiConstants.ADMIN_URI_PREFIX + "/app")
  19. public class AppController {
  20. @Resource
  21. private AppService appService;
  22. @Resource
  23. private AppUserService appUserService;
  24. @Resource
  25. private VersionService versionService;
  26. @Resource
  27. private UserService userService;
  28. @PostMapping("/query")
  29. public IPage<AppDTO> query(@RequestAttribute AdminSession adminSession, AppQuery query) {
  30. query.setUser(adminSession.getUser());
  31. return appService.query(query);
  32. }
  33. @PostMapping("/list")
  34. public List<AppDTO> list(@RequestAttribute AdminSession adminSession, AppQuery query) {
  35. query.setUser(adminSession.getUser());
  36. return appService.list(query);
  37. }
  38. @PostMapping("/insert")
  39. public AppDTO insert(@RequestAttribute AdminSession adminSession, App app) {
  40. adminSession.validateRole(Role.ADMIN, Role.OPS);
  41. appService.insert(app);
  42. return appService.findDTO(app.getId());
  43. }
  44. @PostMapping("/update")
  45. public AppDTO update(@RequestAttribute AdminSession adminSession, App app) {
  46. adminSession.validateRole(Role.ADMIN, Role.OPS);
  47. appService.update(app);
  48. return appService.findDTO(app.getId());
  49. }
  50. @PostMapping("/master_version")
  51. public AppDTO updateMasterVersion(@RequestAttribute AdminSession adminSession, @RequestParam Long id,
  52. @RequestParam Long versionId) {
  53. adminSession.validateRole(Role.ADMIN, Role.OPS);
  54. appService.setMasterVersion(appService.getById(id), versionService.getById(versionId));
  55. return appService.findDTO(id);
  56. }
  57. @PostMapping("/user/bind")
  58. public AppUser bindUser(@RequestAttribute AdminSession adminSession, @RequestParam Long id,
  59. @RequestParam Long userId) {
  60. adminSession.validateRole(Role.ADMIN);
  61. return appUserService.insert(appService.getById(id), userService.getById(userId));
  62. }
  63. @PostMapping("/user/unbind")
  64. public AppUser unbindUser(@RequestAttribute AdminSession adminSession, @RequestParam Long id,
  65. @RequestParam Long userId) {
  66. adminSession.validateRole(Role.ADMIN);
  67. appUserService.delete(appService.getById(id), userService.getById(userId));
  68. return new AppUser(id, userId);
  69. }
  70. }