EventController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.auth.checkAuth;
  3. import cn.cslg.pas.common.core.base.Constants;
  4. import cn.cslg.pas.common.dto.business.EventDTO;
  5. import cn.cslg.pas.common.dto.business.UpdateEventDTO;
  6. import cn.cslg.pas.common.model.cronModel.GroupVO;
  7. import cn.cslg.pas.common.model.cronModel.Records;
  8. import cn.cslg.pas.common.model.request.StringGroupRequest;
  9. import cn.cslg.pas.common.model.request.StringRequest;
  10. import cn.cslg.pas.common.utils.Response;
  11. import cn.cslg.pas.exception.ConditionException;
  12. import cn.cslg.pas.exception.UnLoginException;
  13. import cn.cslg.pas.exception.XiaoShiException;
  14. import cn.cslg.pas.factorys.businessFactory.Business;
  15. import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
  16. import com.alibaba.fastjson.JSONObject;
  17. import io.swagger.v3.oas.annotations.Operation;
  18. import lombok.extern.slf4j.Slf4j;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.PostMapping;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import org.springframework.web.multipart.MultipartFile;
  25. import java.util.List;
  26. /**
  27. * @author chenyu
  28. * @date 2023/10/17
  29. */
  30. @Slf4j
  31. @RequestMapping(Constants.API_XiaoSHI + "/event")
  32. @RestController
  33. public class EventController {
  34. @Autowired
  35. private BusinessFactory businessFactory;
  36. @Operation(summary = "查询事件")
  37. @PostMapping("/queryEvent")
  38. @checkAuth(FunId = "xiaoshi/event/search")
  39. public Response queryEvent(@RequestBody StringRequest stringRequest) throws Exception {
  40. Business business = businessFactory.getClass("eventService");
  41. Records records = (Records) business.queryMessage(stringRequest);
  42. return Response.success(records);
  43. }
  44. @Operation(summary = "添加事件")
  45. @PostMapping("/addEvent")
  46. @checkAuth(FunId = "xiaoshi/event/add")
  47. public Response addEvent(String event, List<MultipartFile> files) throws Exception {
  48. if (event != null) {
  49. EventDTO eventDTO = JSONObject.parseObject(event, EventDTO.class);
  50. Business business = businessFactory.getClass("eventService");
  51. Integer id = null;
  52. try {
  53. id = (Integer) business.addMessage(eventDTO, files);
  54. } catch (Exception e) {
  55. if (e instanceof XiaoShiException) {
  56. return Response.error(e.getMessage());
  57. } else if (e instanceof UnLoginException) {
  58. return Response.unLogin(e.getMessage());
  59. } else if (e instanceof ConditionException) {
  60. return Response.conditionError(e.getMessage());
  61. }
  62. }
  63. return Response.success(id);
  64. } else {
  65. return Response.error("网络异常");
  66. }
  67. }
  68. @Operation(summary = "更新事件")
  69. @PostMapping("/updateEvent")
  70. @checkAuth(FunId = "xiaoshi/event/edit")
  71. public Response updateEvent(String event, List<MultipartFile> files) throws Exception {
  72. if (event != null) {
  73. UpdateEventDTO updateEventDTO = JSONObject.parseObject(event, UpdateEventDTO.class);
  74. Business business = businessFactory.getClass("eventService");
  75. business.updateMessage(updateEventDTO, files);
  76. return Response.success(1);
  77. }
  78. else {
  79. return Response.error("网络异常");
  80. }
  81. }
  82. @Operation(summary = "删除事件")
  83. @PostMapping("/deleteEvent")
  84. @checkAuth(FunId = "xiaoshi/event/delete")
  85. public String deleteEvent(@RequestBody List<Integer> ids) throws Exception {
  86. Business business = businessFactory.getClass("eventService");
  87. business.deleteMessage(ids);
  88. return Response.success();
  89. }
  90. @Operation(summary = "分组事件")
  91. @PostMapping("/groupEvent")
  92. @checkAuth(FunId = "xiaoshi/event/group")
  93. public Response groupEvent(@RequestBody StringGroupRequest stringGroupRequest) throws Exception {
  94. Business business = businessFactory.getClass("eventService");
  95. Records records = (Records)business.getGroup(stringGroupRequest,"event");
  96. return Response.success(records);
  97. }
  98. }