DataSubjectController.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package edp.davinci.controller;
  2. import edp.core.annotation.CurrentUser;
  3. import edp.davinci.common.controller.BaseController;
  4. import edp.davinci.core.common.Constants;
  5. import edp.davinci.core.common.ResultMap;
  6. import edp.davinci.model.DataSubject;
  7. import edp.davinci.model.User;
  8. import edp.davinci.service.DataSubjectService;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import io.swagger.annotations.ApiResponse;
  12. import io.swagger.annotations.ApiResponses;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.http.MediaType;
  16. import org.springframework.http.ResponseEntity;
  17. import org.springframework.validation.BindingResult;
  18. import org.springframework.web.bind.annotation.*;
  19. import springfox.documentation.annotations.ApiIgnore;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.validation.Valid;
  22. import java.util.List;
  23. @Api(value = "/dataSubject", tags = "dataSubject", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  24. @ApiResponses(@ApiResponse(code = 404, message = "dataSubject not found"))
  25. @Slf4j
  26. @RestController
  27. @RequestMapping(value = Constants.BASE_API_PATH + "/dataSubject", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  28. public class DataSubjectController extends BaseController
  29. {
  30. @Autowired
  31. private DataSubjectService dataSubjectService;
  32. /**
  33. * 获取 主题
  34. *
  35. * @param user
  36. * @param request
  37. * @return
  38. */
  39. @ApiOperation(value = "get dataSubject")
  40. @GetMapping(value = "/getDataSubject")
  41. public ResponseEntity getDataSubject(@ApiIgnore @CurrentUser User user,
  42. HttpServletRequest request) {
  43. List<DataSubject> dataSubjects = dataSubjectService.getDataSubject();
  44. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(dataSubjects));
  45. }
  46. /**
  47. * 新建主题
  48. *
  49. * @param dataSubject
  50. * @param bindingResult
  51. * @param user
  52. * @param request
  53. * @return
  54. */
  55. @ApiOperation(value = "create dataSubject")
  56. @PostMapping(value = "/createDataSubject",consumes = MediaType.APPLICATION_JSON_VALUE)
  57. public ResponseEntity createDataSubject(@Valid @RequestBody DataSubject dataSubject,
  58. @ApiIgnore BindingResult bindingResult,
  59. @ApiIgnore @CurrentUser User user,
  60. HttpServletRequest request) {
  61. if (bindingResult.hasErrors()) {
  62. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  63. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  64. }
  65. dataSubject = dataSubjectService.createDataSubject(dataSubject);
  66. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payload(dataSubject));
  67. }
  68. /**
  69. * 修改dataSubject
  70. *
  71. * @param id
  72. * @param dataSubject
  73. * @param bindingResult
  74. * @param user
  75. * @param request
  76. * @return
  77. */
  78. @ApiOperation(value = "update dataSubject")
  79. @PutMapping(value = "/updateDataSubject/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  80. public ResponseEntity updateDataSubject(@PathVariable Long id,
  81. @Valid @RequestBody DataSubject dataSubject,
  82. @ApiIgnore BindingResult bindingResult,
  83. @ApiIgnore @CurrentUser User user,
  84. HttpServletRequest request) {
  85. if (invalidId(id) || !id.equals(dataSubject.getId())) {
  86. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
  87. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  88. }
  89. if (bindingResult.hasErrors()) {
  90. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  91. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  92. }
  93. dataSubjectService.updateDataSubject(dataSubject);
  94. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  95. }
  96. /**
  97. * 删除dataSubject
  98. *
  99. * @param id
  100. * @param user
  101. * @param request
  102. * @return
  103. */
  104. @ApiOperation(value = "delete dataSubject")
  105. @DeleteMapping("/deleteDataSubject/{id}")
  106. public ResponseEntity deleteDataSubject(@PathVariable Long id,
  107. @ApiIgnore @CurrentUser User user,
  108. HttpServletRequest request) {
  109. if (invalidId(id)) {
  110. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
  111. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  112. }
  113. dataSubjectService.deleteDataSubject(id);
  114. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  115. }
  116. }