TaskController.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.model.dto.TaskAddNewDTO;
  4. import cn.cslg.pas.common.model.dto.QueryTaskDTO;
  5. import cn.cslg.pas.common.model.vo.TaskVO;
  6. import cn.cslg.pas.common.utils.Response;
  7. import cn.cslg.pas.domain.Task;
  8. import cn.cslg.pas.domain.asso.TaskCondition;
  9. import cn.cslg.pas.service.TaskService;
  10. import cn.cslg.pas.service.upLoadPatent.JobService;
  11. import cn.cslg.pas.service.upLoadPatent.UploadTaskService;
  12. import io.swagger.v3.oas.annotations.Operation;
  13. import io.swagger.v3.oas.annotations.tags.Tag;
  14. import lombok.RequiredArgsConstructor;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.quartz.SchedulerException;
  17. import org.springframework.context.annotation.Lazy;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.io.IOException;
  20. /**
  21. * <p>
  22. * 任务 前端控制器
  23. * </p>
  24. *
  25. * @author 王岩
  26. * @since 2022-02-17
  27. */
  28. @Slf4j
  29. @Tag(name = "系统任务")
  30. @RestController
  31. @RequestMapping(Constants.API_VERSION_V2 + "/task")
  32. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  33. public class TaskController {
  34. private final TaskService taskService;
  35. private final UploadTaskService uploadTaskService;
  36. private final JobService jobService;
  37. @GetMapping("list")
  38. @Operation(summary = "任务列表")
  39. public String getPageList(TaskVO params) throws IOException {
  40. return Response.success(taskService.getPageList(params));
  41. }
  42. @PostMapping("/queryTasks")
  43. @Operation(summary = "查询任务列表")
  44. public String queryTasks(@RequestBody QueryTaskDTO queryTaskDTO) throws IOException {
  45. return Response.success(taskService.queryTasks(queryTaskDTO));
  46. }
  47. @PostMapping("delete")
  48. @Operation(summary = "删除任务")
  49. public String delete(Integer id) {
  50. return taskService.delete(id);
  51. }
  52. @GetMapping("queue")
  53. @Operation(summary = "获取进行中的任务")
  54. public String getQueueList(Integer type, Integer projectId, Integer productId) {
  55. return Response.success(taskService.getQueueList(type, projectId, productId));
  56. }
  57. @PostMapping("update")
  58. @Operation(summary = "更新任务")
  59. public String update(@RequestBody Task task) {
  60. taskService.updateStatus(task.getId(), task.getStatus(), task.getEndTime());
  61. return Response.success(true);
  62. }
  63. @PostMapping("addTask")
  64. @Operation(summary = "新增网站导入专利任务")
  65. public String add(@RequestBody TaskAddNewDTO taskAddNewDTO) throws IOException, SchedulerException {
  66. log.info("开始处理【新增网站导入专利任务】的请求,请求参数为:{}", taskAddNewDTO);
  67. TaskCondition taskCondition = new TaskCondition();
  68. //新增欧专局网站导入任务
  69. if (taskAddNewDTO.getTaskType2().equals(3)) {
  70. taskCondition = uploadTaskService.addEpoTask(taskAddNewDTO);
  71. //新增专利之星网站导入任务
  72. } else if (taskAddNewDTO.getTaskType2().equals(4)) {
  73. taskCondition = uploadTaskService.addPatentStarTask(taskAddNewDTO);
  74. }
  75. //若是定时任务,则新增添加定时任务的job
  76. if (taskCondition.getTaskType() == 1) {
  77. jobService.addJob(taskCondition);
  78. }
  79. return Response.success("添加任务完成");
  80. }
  81. @PostMapping("addPatentNoTask")
  82. @Operation(summary = "新增导入专利任务")
  83. public String addPatentNoTask(@RequestBody QrtzTaskAddNewDTO qrtzTaskAddNewDTO) throws IOException, SchedulerException {
  84. log.info("开始处理【新增网站导入专利任务】的请求,请求参数为:{}", qrtzTaskAddNewDTO);
  85. AssoOsTaskQrtzTask assoOsTaskQrtzTask = new AssoOsTaskQrtzTask();
  86. //新增欧专局网站导入任务
  87. if (qrtzTaskAddNewDTO.getTaskType2().equals(3)) {
  88. assoOsTaskQrtzTask = uploadTaskService.addEpoTask(qrtzTaskAddNewDTO);
  89. //新增专利之星网站导入任务
  90. } else if (qrtzTaskAddNewDTO.getTaskType2().equals(4)) {
  91. assoOsTaskQrtzTask = uploadTaskService.addPatentStarTask(qrtzTaskAddNewDTO);
  92. }
  93. //若是定时任务,则新增添加定时任务的job
  94. if (assoOsTaskQrtzTask.getTaskType() == 1) {
  95. jobService.addJob(assoOsTaskQrtzTask);
  96. }
  97. return Response.success("添加任务完成");
  98. }
  99. @PostMapping("/pause")
  100. @Operation(summary = "暂停任务")
  101. public Response pauseTask(Integer taskId) {
  102. log.info("开始处理【暂停任务】的请求,请求参数为:taskId={}", taskId);
  103. taskService.pauseTask(taskId);
  104. return Response.ok("暂停任务成功");
  105. }
  106. @PostMapping("/continue")
  107. @Operation(summary = "继续任务")
  108. public Response continueTask(Integer taskId) {
  109. log.info("开始处理【继续任务】的请求,请求参数为:taskId={}", taskId);
  110. taskService.continueTask(taskId);
  111. return Response.ok("继续任务成功");
  112. }
  113. }