DataRulesController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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.DataRules;
  7. import edp.davinci.model.User;
  8. import edp.davinci.service.DataRulesService;
  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 = "/dataRules", tags = "dataRules", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  24. @ApiResponses(@ApiResponse(code = 404, message = "dataRules not found"))
  25. @Slf4j
  26. @RestController
  27. @RequestMapping(value = Constants.BASE_API_PATH + "/dataRules", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  28. public class DataRulesController extends BaseController
  29. {
  30. @Autowired
  31. private DataRulesService dataRulesService;
  32. /**
  33. * 获取 数据规则
  34. *
  35. * @param user
  36. * @param request
  37. * @return
  38. */
  39. @ApiOperation(value = "get dataRules")
  40. @GetMapping(value = "/getDataRules")
  41. public ResponseEntity getDataRules(@ApiIgnore @CurrentUser User user,
  42. @RequestParam(value = "subjectId", required = false) Long subjectId,
  43. HttpServletRequest request) {
  44. List<DataRules> dataRules = null;
  45. if(null == subjectId){
  46. dataRules = dataRulesService.getDataRules();
  47. }else{
  48. dataRules = dataRulesService.getDataRulesListBySubjectId(subjectId);
  49. }
  50. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(dataRules));
  51. }
  52. /**
  53. * 增加数据规则
  54. *
  55. * @param dataRules
  56. * @param bindingResult
  57. * @param user
  58. * @param request
  59. * @return
  60. */
  61. @ApiOperation(value = "create dataRules")
  62. @PostMapping(value = "/createDataRules",consumes = MediaType.APPLICATION_JSON_VALUE)
  63. public ResponseEntity createDataRules(@Valid @RequestBody DataRules dataRules,
  64. @ApiIgnore BindingResult bindingResult,
  65. @ApiIgnore @CurrentUser User user,
  66. HttpServletRequest request) {
  67. if (bindingResult.hasErrors()) {
  68. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  69. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  70. }
  71. dataRules = dataRulesService.createDataRules(dataRules);
  72. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payload(dataRules));
  73. }
  74. /**
  75. * 修改dataRules
  76. *
  77. * @param id
  78. * @param dataRules
  79. * @param bindingResult
  80. * @param user
  81. * @param request
  82. * @return
  83. */
  84. @ApiOperation(value = "update dataRules")
  85. @PutMapping(value = "/updateDataRules/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  86. public ResponseEntity updateDataRules(@PathVariable Long id,
  87. @Valid @RequestBody DataRules dataRules,
  88. @ApiIgnore BindingResult bindingResult,
  89. @ApiIgnore @CurrentUser User user,
  90. HttpServletRequest request) {
  91. if (invalidId(id) || !id.equals(dataRules.getId())) {
  92. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
  93. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  94. }
  95. if (bindingResult.hasErrors()) {
  96. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  97. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  98. }
  99. dataRulesService.updateDataRules(dataRules);
  100. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  101. }
  102. /**
  103. * 删除deleteDataRules
  104. *
  105. * @param id
  106. * @param user
  107. * @param request
  108. * @return
  109. */
  110. @ApiOperation(value = "delete dataRules")
  111. @DeleteMapping("/deleteDataRules/{id}")
  112. public ResponseEntity deleteDataRules(@PathVariable Long id,
  113. @ApiIgnore @CurrentUser User user,
  114. HttpServletRequest request) {
  115. if (invalidId(id)) {
  116. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
  117. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  118. }
  119. dataRulesService.deleteDataRules(id);
  120. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  121. }
  122. }