ReportProjectController.java 4.0 KB

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