EventController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.JsonPage;
  3. import cn.cslg.pas.common.core.base.Constants;
  4. import cn.cslg.pas.common.model.dto.*;
  5. import cn.cslg.pas.common.model.vo.ApplicationScenarioEventNumberVO;
  6. import cn.cslg.pas.common.model.vo.InvestigationTypeProjectNumberVO;
  7. import cn.cslg.pas.common.utils.Response;
  8. import cn.cslg.pas.exception.XiaoShiException;
  9. import cn.cslg.pas.service.IEventService;
  10. import io.swagger.v3.oas.annotations.Operation;
  11. import io.swagger.v3.oas.annotations.tags.Tag;
  12. import lombok.RequiredArgsConstructor;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.List;
  16. /**
  17. * 事件的Controller层
  18. *
  19. * @Author chenyu
  20. * @Date 2023/4/2
  21. */
  22. @Tag(name = "事件的管理模块")
  23. @RequiredArgsConstructor
  24. @Slf4j
  25. @RequestMapping(Constants.API_VERSION_V2 + "/event")
  26. @RestController
  27. public class EventController {
  28. private final IEventService eventService;
  29. @Operation(summary = "新增专题库时批量新增新事件(无事件id)")
  30. @PostMapping("/addNew")
  31. public String addNew(@RequestBody List<EventAddNewDTO> eventAddNewDTOs) {
  32. log.info("开始处理【新增专题库时批量新增新事件(无事件id)】的请求,请求参数为:{}", eventAddNewDTOs);
  33. List<Integer> eventIds;
  34. try {
  35. eventIds = eventService.addNew(eventAddNewDTOs);
  36. } catch (XiaoShiException e) {
  37. return Response.error(e.getMessage());
  38. }
  39. return Response.success(eventIds);
  40. }
  41. @Operation(summary = "新增事件")
  42. @PostMapping("/addNewEvent")
  43. public String addNewEvent(@RequestBody ProjectEventAddNewDTO projectEventAddNewDTO) {
  44. log.info("开始处理【新增事件】的请求,请求参数为:{}", projectEventAddNewDTO);
  45. try {
  46. eventService.addNewEvent(projectEventAddNewDTO);
  47. } catch (XiaoShiException e) {
  48. return Response.error(e.getMessage());
  49. }
  50. return Response.success("新增单个事件完成");
  51. }
  52. @Operation(summary = "查询事件")
  53. @PostMapping("/query")
  54. public String query(@RequestBody EventQueryPageDTO eventQueryPageDTO) {
  55. log.info("开始处理【分页查询事件】的请求,请求参数为:{}", eventQueryPageDTO);
  56. return Response.success(eventService.query(eventQueryPageDTO));
  57. }
  58. @Operation(summary = "查询9大应用场景分别对应的事件数量")
  59. @GetMapping("/queryApplicationScenarioEventNumber")
  60. public String queryApplicationScenarioEventNumber() {
  61. log.info("开始处理【查询9大应用场景分别对应的事件数量】的请求");
  62. List<ApplicationScenarioEventNumberVO> queryResults = eventService.queryApplicationScenarioEventNumber();
  63. return Response.success(queryResults);
  64. }
  65. @Operation(summary = "根据应用场景value和事件名称分页查询事件清单")
  66. @PostMapping("/queryEvents")
  67. public String queryEvents(@RequestBody EventQueryPageDTO eventQueryPageDTO) {
  68. log.info("开始处理【根据应用场景value和事件名称分页查询事件清单】的请求,请求参数为:{}", eventQueryPageDTO);
  69. JsonPage jsonPage = eventService.queryEvents(eventQueryPageDTO);
  70. return Response.success(jsonPage);
  71. }
  72. @Operation(summary = "根据应用场景和事件id查询调查类型对应的专题库数量")
  73. @PostMapping("/queryInvestigationTypeProjectNumber")
  74. public String queryInvestigationTypeProjectNumber(@RequestBody QueryInvestigationTypeProjectNumberDTO queryInvestigationTypeProjectNumberDTO) {
  75. List<InvestigationTypeProjectNumberVO> queryResults = eventService.queryInvestigationTypeProjectNumber(queryInvestigationTypeProjectNumberDTO);
  76. return Response.success(queryResults);
  77. }
  78. @Operation(summary = "修改事件")
  79. @PostMapping("/update")
  80. public String update(@RequestBody EventUpdateDTO eventUpdateDTO) {
  81. log.info("开始处理【修改事件】的请求,请求参数为:{}", eventUpdateDTO);
  82. try {
  83. eventService.update(eventUpdateDTO);
  84. } catch (XiaoShiException e) {
  85. return Response.error(e.getMessage());
  86. }
  87. return Response.success("修改完成");
  88. }
  89. @Operation(summary = "删除事件")
  90. @GetMapping("/delete")
  91. public String delete(Integer eventId, Integer projectId) {
  92. log.info("开始处理【删除事件】的请求,请求参数为:{}, {}", eventId, projectId);
  93. try {
  94. eventService.delete(eventId, projectId);
  95. } catch (XiaoShiException e) {
  96. return Response.error(e.getMessage());
  97. }
  98. return Response.success("删除完成");
  99. }
  100. }