ReportController.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.annotation.Permission;
  3. import cn.cslg.pas.common.core.base.Constants;
  4. import cn.cslg.pas.common.utils.JsonUtils;
  5. import cn.cslg.pas.common.utils.Response;
  6. import cn.cslg.pas.common.utils.ResponseEnum;
  7. import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
  8. import cn.cslg.pas.common.utils.StringUtils;
  9. import cn.cslg.pas.common.utils.auth.checkAuth;
  10. import cn.cslg.pas.domain.Report;
  11. import cn.cslg.pas.common.model.vo.ReportVO;
  12. import cn.cslg.pas.service.ReportService;
  13. import cn.cslg.pas.common.utils.CacheUtils;
  14. import cn.dev33.satoken.stp.StpUtil;
  15. import io.swagger.v3.oas.annotations.Operation;
  16. import io.swagger.v3.oas.annotations.tags.Tag;
  17. import lombok.RequiredArgsConstructor;
  18. import org.springframework.context.annotation.Lazy;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.Date;
  21. import java.util.List;
  22. @Tag(name = "报告")
  23. @RestController
  24. @RequestMapping(Constants.API_VERSION_V2 + "/report")
  25. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  26. public class ReportController {
  27. private final ReportService reportService;
  28. private final CacheUtils cacheUtils;
  29. private final LoginUtils loginUtils;
  30. @GetMapping("list")
  31. @Operation(summary = "报告列表")
  32. public String getList(ReportVO params) {
  33. return Response.success(reportService.getReportList(params));
  34. }
  35. @GetMapping("{id}")
  36. @Operation(summary = "根据ID获取报告")
  37. public String getById(@PathVariable Integer id) {
  38. return Response.success(reportService.getReportById(id));
  39. }
  40. @PostMapping("delete")
  41. @Operation(summary = "删除报告")
  42. public String deleteById(@RequestBody List<Integer> ids) {
  43. return Response.success(reportService.deleteById(ids));
  44. }
  45. @checkAuth(FunId = "/workspace/folder/analyticSystem/generateReport")
  46. @Permission(roles = {2})
  47. @PostMapping("add")
  48. @Operation(summary = "创建报告")
  49. public String add(@RequestBody Report report) {
  50. String id = cacheUtils.getSelectPatentIds(report.getPatentKey());
  51. if (StringUtils.isEmpty(id)) {
  52. return Response.error(ResponseEnum.QUERY_CACHE_ERROR);
  53. }
  54. report.setStatus(0);
  55. report.setCreateBy(loginUtils.getId());
  56. report.setCfg(JsonUtils.objectToJson(report.getPatentList()));
  57. report.setCreateTime(new Date());
  58. report.insert();
  59. report.setPatentIds(StringUtils.changeStringToInteger(id, ","));
  60. reportService.add(report);
  61. return Response.success(report.getId());
  62. }
  63. @GetMapping("patent")
  64. @Operation(summary = "获取待分析的专利")
  65. public String getPatentList(String patentKey, Integer projectId) {
  66. String id = cacheUtils.getSelectPatentIds(patentKey);
  67. if (StringUtils.isEmpty(id)) {
  68. return Response.error(ResponseEnum.QUERY_CACHE_ERROR);
  69. }
  70. return Response.success(reportService.getPatentList(StringUtils.changeStringToInteger(id, ","), projectId));
  71. }
  72. }