|
@@ -1,6 +1,8 @@
|
|
|
package cn.cslg.pas.service;
|
|
|
|
|
|
|
|
|
+import cn.cslg.pas.common.JsonPage;
|
|
|
+import cn.cslg.pas.common.model.dto.QueryQrtzTaskLogsDTO;
|
|
|
import cn.cslg.pas.common.model.dto.TaskAddNewDTO;
|
|
|
|
|
|
import cn.cslg.pas.common.model.dto.QueryTaskDTO;
|
|
@@ -14,10 +16,7 @@ import cn.cslg.pas.domain.asso.TaskCondition;
|
|
|
import cn.cslg.pas.mapper.TaskMapper;
|
|
|
import cn.cslg.pas.common.model.dto.UploadFileDTO;
|
|
|
import cn.cslg.pas.service.asso.TaskConditionService;
|
|
|
-import cn.cslg.pas.service.upLoadPatent.ExcutePatentDataEpo;
|
|
|
-import cn.cslg.pas.service.upLoadPatent.ExcutePatentDataExcel;
|
|
|
-import cn.cslg.pas.service.upLoadPatent.ExcutePatentDataStar;
|
|
|
-import cn.cslg.pas.service.upLoadPatent.PantentQueueService;
|
|
|
+import cn.cslg.pas.service.upLoadPatent.*;
|
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
@@ -27,8 +26,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.quartz.SchedulerException;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -61,6 +63,8 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
private final ExcutePatentDataEpo excutePatentDataEpo;
|
|
|
private final ExcutePatentDataStar excutePatentDataStar;
|
|
|
private final TaskConditionService taskConditionService;
|
|
|
+ private final JobService jobService;
|
|
|
+ private final TaskMapper taskMapper;
|
|
|
|
|
|
|
|
|
public String getFileUrl(Integer id) {
|
|
@@ -153,6 +157,10 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
task.setDefaultNum(0);
|
|
|
//前台参数json格式
|
|
|
task.setPramJson(json);
|
|
|
+ //任务名称
|
|
|
+ task.setTaskName(task.getOldName());
|
|
|
+ //任务类型1(0普通任务 1定时任务)
|
|
|
+ task.setTaskType(0);
|
|
|
|
|
|
//数据入任务表
|
|
|
task.insert();
|
|
@@ -195,10 +203,15 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
task.setDefaultNum(0);
|
|
|
//所属任务条件id
|
|
|
task.setTaskConditionId(taskCondition.getId());
|
|
|
+ //与专题库关联信息(自定义字段、文件夹)
|
|
|
ProjectImportPatentVO projectImportPatentVO = new ProjectImportPatentVO();
|
|
|
BeanUtils.copyProperties(taskAddNewDTO, projectImportPatentVO);
|
|
|
String pramJson = JSONObject.toJSONString(projectImportPatentVO);
|
|
|
task.setPramJson(pramJson);
|
|
|
+ //任务名称
|
|
|
+ task.setTaskName(taskAddNewDTO.getTaskName());
|
|
|
+ //任务类型1(0普通任务 1定时任务)
|
|
|
+ task.setTaskType(taskAddNewDTO.getTaskType());
|
|
|
|
|
|
//数据入任务表
|
|
|
log.info("任务表(os_task)新增数据");
|
|
@@ -271,132 +284,133 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
public PageVO queryTasks(QueryTaskDTO queryTaskDTO) throws IOException {
|
|
|
log.info("开始处理【查询任务】的业务,参数为:{}", queryTaskDTO);
|
|
|
|
|
|
- //根据专题库id查询
|
|
|
- LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<>();
|
|
|
- if (queryTaskDTO.getProjectId() != null) {
|
|
|
- wrapper.eq(Task::getProjectId, queryTaskDTO.getProjectId());
|
|
|
- }
|
|
|
- //根据报告id查询
|
|
|
- if (queryTaskDTO.getReportId() != null) {
|
|
|
- wrapper.eq(Task::getReportId, queryTaskDTO.getReportId());
|
|
|
- }
|
|
|
- //专题库id和报告id都没有时,根据当前登陆人id查询)
|
|
|
+ //专题库id和报告id都没有时,根据当前登陆人id查询
|
|
|
if (queryTaskDTO.getProjectId() == null && queryTaskDTO.getReportId() == null) {
|
|
|
- wrapper.eq(Task::getCreateBy, loginUtils.getId());
|
|
|
+ queryTaskDTO.setCreateId(loginUtils.getId());
|
|
|
}
|
|
|
//根据创建人名称模糊查询
|
|
|
if (queryTaskDTO.getCreateName() != null && !queryTaskDTO.getCreateName().equals("")) {
|
|
|
String res = outInterfaceService.getPersonIdByNamePCS(queryTaskDTO.getCreateName());
|
|
|
List<Integer> personIds = JSON.parseArray(res, Integer.class);
|
|
|
- //若没有,则ids集合添加一个元素-1(防止执行时sql报错:where uid in ())
|
|
|
- if (personIds == null || personIds.size() == 0) {
|
|
|
+ if (personIds.size() == 0) { //若根据该名称查询不到任何人员,则将人员ids集合添加一个元素-1(防止sql报错)
|
|
|
personIds.add(-1);
|
|
|
}
|
|
|
- wrapper.in(Task::getCreateBy, personIds);
|
|
|
- }
|
|
|
- //根据任务类型1(0普通任务 1定时任务)查询
|
|
|
- if (queryTaskDTO.getTaskType() != null) {
|
|
|
- List<TaskCondition> taskConditions = taskConditionService.list(new LambdaQueryWrapper<TaskCondition>().eq(TaskCondition::getTaskType, queryTaskDTO.getTaskType()));
|
|
|
- List<Integer> assoOsTaskQrtzTaskIds = taskConditions.stream().map(TaskCondition::getId).collect(Collectors.toList());
|
|
|
- //若没有,则ids集合添加一个元素-1(防止执行时sql报错:where qrtz_task_id in ())
|
|
|
- if (assoOsTaskQrtzTaskIds.size() == 0) {
|
|
|
- assoOsTaskQrtzTaskIds.add(-1);
|
|
|
- }
|
|
|
- wrapper.in(Task::getTaskConditionId, assoOsTaskQrtzTaskIds);
|
|
|
- }
|
|
|
- //根据任务类型2(1Excel导入 3欧专局导入 4专利之星导入)查询
|
|
|
- if (queryTaskDTO.getTaskType2() != null) {
|
|
|
- wrapper.eq(Task::getType, queryTaskDTO.getTaskType2());
|
|
|
+ queryTaskDTO.setPersonIds(personIds);
|
|
|
}
|
|
|
- //根据任务状态查询
|
|
|
- if (queryTaskDTO.getTaskStatus() != null && queryTaskDTO.getTaskStatus().size() > 0) {
|
|
|
- wrapper.in(Task::getStatus, queryTaskDTO.getTaskStatus());
|
|
|
+ //若有排序,则根据创建时间排
|
|
|
+ if (queryTaskDTO.getOrderBy() != null) {
|
|
|
+ queryTaskDTO.setOrderBy("create_time");
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- List<Task> tasks;
|
|
|
- Page<Task> pageList = new Page<>();
|
|
|
- //若要分页查询
|
|
|
+ //若要分页
|
|
|
if (queryTaskDTO.getCurrent() != null) {
|
|
|
- //若要排序
|
|
|
- if (queryTaskDTO.getOrderBy() != null && !queryTaskDTO.getOrderBy().equals("")) {
|
|
|
- wrapper.last("order by create_time " + queryTaskDTO.getOrderType() + ", id " + queryTaskDTO.getOrderType());
|
|
|
- pageList = this.page(new Page<>(queryTaskDTO.getCurrent(), queryTaskDTO.getSize()), wrapper);
|
|
|
- } else {
|
|
|
- //若不要排序
|
|
|
- pageList = this.page(new Page<>(queryTaskDTO.getCurrent(), queryTaskDTO.getSize()), wrapper);
|
|
|
- }
|
|
|
- tasks = pageList.getRecords();
|
|
|
- } else {
|
|
|
- //若不要分页查询
|
|
|
- pageList.setCurrent(0).setSize(0).setTotal(0);
|
|
|
- //若要排序
|
|
|
- if (queryTaskDTO.getOrderBy() != null && !queryTaskDTO.getOrderBy().equals("")) {
|
|
|
- wrapper.last("order by create_time " + queryTaskDTO.getOrderType() + ", id " + queryTaskDTO.getOrderType());
|
|
|
- }
|
|
|
- tasks = this.list(wrapper);
|
|
|
+ PageHelper.startPage(queryTaskDTO.getCurrent(), queryTaskDTO.getSize());
|
|
|
}
|
|
|
+ List<QueryTaskVO> tasks = taskMapper.queryTasks(queryTaskDTO);
|
|
|
+ PageInfo<QueryTaskVO> pageInfo = new PageInfo<>(tasks);
|
|
|
|
|
|
//装载创建人名称(调用权限系统接口,根据创建人ids查询出人员列表)
|
|
|
- List<Integer> createPersonIds = tasks.stream().map(Task::getCreateBy).collect(Collectors.toList());
|
|
|
- String res = outInterfaceService.getPersonnelByIdsFromPCS(createPersonIds);
|
|
|
- com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(res);
|
|
|
- List<Personnel> personnels = com.alibaba.fastjson.JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
|
|
|
- //遍历任务列表和人员列表,根据创建人id和人员id匹配,装载人员名称
|
|
|
- for (Task task : tasks) {
|
|
|
- for (Personnel personnel : personnels) {
|
|
|
- if (personnel.getId().equals(task.getCreateBy())) {
|
|
|
- task.setCreateName(personnel.getPersonnelName());
|
|
|
- break;
|
|
|
+ if (tasks.size() > 0) {
|
|
|
+ List<Integer> createPersonIds = tasks.stream().map(QueryTaskVO::getCreateBy).collect(Collectors.toList());
|
|
|
+ String res = outInterfaceService.getPersonnelByIdsFromPCS(createPersonIds);
|
|
|
+ com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(res);
|
|
|
+ List<Personnel> personnels = com.alibaba.fastjson.JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
|
|
|
+ //遍历任务列表和人员列表,根据创建人id和人员id匹配,装载人员名称
|
|
|
+ for (QueryTaskVO task : tasks) {
|
|
|
+ for (Personnel personnel : personnels) {
|
|
|
+ if (personnel.getId().equals(task.getCreateBy())) {
|
|
|
+ task.setCreateName(personnel.getPersonnelName());
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- List<QueryTaskVO> queryTaskVOS = new ArrayList<>();
|
|
|
- List<Integer> assoOsTaskQrtzTaskIds = tasks.stream().filter(item -> item.getType().equals(3) || item.getType().equals(4)).map(Task::getTaskConditionId).collect(Collectors.toList());
|
|
|
- //若有网站导入的任务
|
|
|
- if (assoOsTaskQrtzTaskIds.size() > 0) {
|
|
|
- List<TaskCondition> taskConditions = taskConditionService.list(new LambdaQueryWrapper<TaskCondition>().in(TaskCondition::getId, assoOsTaskQrtzTaskIds));
|
|
|
- //遍历装载
|
|
|
- for (Task task : tasks) {
|
|
|
- QueryTaskVO queryTaskVO = new QueryTaskVO();
|
|
|
- if (!task.getType().equals(3) && !task.getType().equals(4)) { //若不是网站导入任务
|
|
|
- BeanUtils.copyProperties(task, queryTaskVO);
|
|
|
- queryTaskVO.setTaskName(task.getOldName()); //将Excel文件原名称赋值给taskName
|
|
|
- queryTaskVO.setTaskType(0); //将任务类型1设置为普通任务(所有Excel任务默认为普通任务)
|
|
|
- queryTaskVOS.add(queryTaskVO);
|
|
|
- } else { //若是网站导入任务
|
|
|
- for (TaskCondition taskCondition : taskConditions) {
|
|
|
- //找到当前外层遍历到的 task任务的所属任务条件 assoOsTaskQrtzTask
|
|
|
- if (taskCondition.getId().equals(task.getTaskConditionId())) {
|
|
|
- BeanUtils.copyProperties(taskCondition, queryTaskVO);
|
|
|
- BeanUtils.copyProperties(task, queryTaskVO);
|
|
|
- //当前任务条件与当前任务匹配完成,结束当前这层任务条件循环,继续下一次循环跟下一个任务匹配
|
|
|
- queryTaskVOS.add(queryTaskVO);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ //手动创建分页信息返回对象
|
|
|
+ PageVO pageVO = new PageVO()
|
|
|
+ .setCurrent(pageInfo.getPageNum())
|
|
|
+ .setSize(pageInfo.getPageSize())
|
|
|
+ .setTotal((int) pageInfo.getTotal())
|
|
|
+ .setRecords(tasks);
|
|
|
+ return pageVO;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Page<Task> queryQrtzTaskLogs(QueryQrtzTaskLogsDTO queryQrtzTaskLogsDTO) {
|
|
|
+ log.info("开始处理【查询定时任务执行日志】的业务,参数为:taskId={}", queryQrtzTaskLogsDTO.getTaskId());
|
|
|
+
|
|
|
+ //检查任务是否存在,若不存在则提示用户"该定时任务已不存在,请尝试刷新页面"
|
|
|
+ Task task = this.getById(queryQrtzTaskLogsDTO.getTaskId());
|
|
|
+ if (task == null) {
|
|
|
+ ThrowException.throwXiaoShiException("该定时任务已不存在,请尝试刷新页面");
|
|
|
+ }
|
|
|
+
|
|
|
+ //检查任务是否为定时任务,若不是则提示用户"该任务不为定时任务,暂无更新日志"
|
|
|
+ TaskCondition taskCondition = taskConditionService.getById(task.getTaskConditionId());
|
|
|
+ if (!taskCondition.getTaskType().equals(1)) {
|
|
|
+ ThrowException.throwXiaoShiException("该任务不为定时任务,暂无更新日志");
|
|
|
+ }
|
|
|
|
|
|
+ Page<Task> pageList = this.page(new Page<>(queryQrtzTaskLogsDTO.getCurrent(), queryQrtzTaskLogsDTO.getSize()), new LambdaQueryWrapper<Task>().eq(Task::getTaskConditionId, task.getTaskConditionId()).orderByDesc(Task::getCreateTime));
|
|
|
+
|
|
|
+ return pageList;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void cancelTask(Integer taskId) throws SchedulerException, InterruptedException {
|
|
|
+ log.info("开始处理【取消任务】的业务,参数为:taskId={}", taskId);
|
|
|
+
|
|
|
+ //检查任务是否存在,若不存在则提示用户"取消任务失败,当前任务已不存在,请尝试刷新页面"
|
|
|
+ Task task = this.getById(taskId);
|
|
|
+ if (task == null) {
|
|
|
+ ThrowException.throwXiaoShiException("取消任务失败,当前任务已不存在,请尝试刷新页面");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //检查任务状态是否为已完成,若是则提示用户"取消任务失败,已完成的任务无法取消"
|
|
|
+ if (task.getStatus().equals(2)) {
|
|
|
+ ThrowException.throwXiaoShiException("取消任务失败,已完成的任务无法取消");
|
|
|
+ }
|
|
|
+
|
|
|
+ //若该任务是定时任务中最新的一条任务(即本次请求目的是取消该定时任务),则要删除job中的该定时任务条件
|
|
|
+ if (task.getType().equals(3) || task.getType().equals(4)) {
|
|
|
+ TaskCondition taskCondition = taskConditionService.getById(task.getTaskConditionId());
|
|
|
+ if (taskCondition.getTaskType().equals(1)) {
|
|
|
+ //删除job中的该定时任务条件
|
|
|
+ jobService.deleteJob(taskCondition.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //若该任务处于进行中
|
|
|
+ if (task.getStatus().equals(1)) {
|
|
|
+ //将生产者生产专利中的公共任务状态改为暂停
|
|
|
+ if (task.getType() == 1) {
|
|
|
+ excutePatentDataExcel.setTaskStatus(taskId, 4);
|
|
|
+ } else if (task.getType() == 3) {
|
|
|
+ excutePatentDataEpo.setTaskStatus(taskId, 4);
|
|
|
+ } else if (task.getType() == 4) {
|
|
|
+ excutePatentDataStar.setTaskStatus(taskId, 4);
|
|
|
}
|
|
|
- } else { //若没有网站导入任务
|
|
|
- //若查询的不是网站导入的任务(即是Excel导入任务的话)
|
|
|
- String tasksStr = JSONObject.toJSONString(tasks);
|
|
|
- queryTaskVOS = JSON.parseArray(tasksStr, QueryTaskVO.class);
|
|
|
- //遍历,将Excel文件原名称赋值给taskName,将任务类型1设置为普通任务(所有Excel任务默认为普通任务)
|
|
|
- for (QueryTaskVO queryTaskVO : queryTaskVOS) {
|
|
|
- queryTaskVO.setTaskName(queryTaskVO.getOldName());
|
|
|
- queryTaskVO.setTaskType(0);
|
|
|
+ if (task.getType().equals(3) || task.getType().equals(4)) {
|
|
|
+ Thread.sleep(500);
|
|
|
+ //将专利各部分装载线程队列中该任务的专利清空
|
|
|
+ pantentQueueService.setQueueRemoveTasks(taskId);
|
|
|
}
|
|
|
+ Thread.sleep(1000);
|
|
|
+ //将消费者的专利队列中所有该任务的专利剔除
|
|
|
+ pantentQueueService.consumerQueueRemoveTasks(taskId);
|
|
|
}
|
|
|
|
|
|
- //手动创建分页信息返回对象
|
|
|
- PageVO pageVO = new PageVO()
|
|
|
- .setCurrent((int) pageList.getCurrent())
|
|
|
- .setSize((int) pageList.getSize())
|
|
|
- .setTotal((int) pageList.getTotal())
|
|
|
- .setRecords(queryTaskVOS);
|
|
|
- return pageVO;
|
|
|
+ //若该任务处于等待中
|
|
|
+ if (task.getStatus().equals(0)) {
|
|
|
+ //将生产者任务队列中该任务剔除
|
|
|
+ pantentQueueService.taskQueueListRemoveTask(Arrays.asList(task.getId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ //最后修改任务状态为5已取消
|
|
|
+ Task updateTask = new Task();
|
|
|
+ updateTask.setId(task.getId());
|
|
|
+ updateTask.setStatus(5);
|
|
|
+ log.info("os_task表修改任务状态为取消");
|
|
|
+ this.updateById(updateTask);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public List<Task> getQueueList(Integer type, Integer projectId, Integer productId) {
|
|
@@ -472,9 +486,10 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
* 暂停任务
|
|
|
*
|
|
|
* @param taskId 任务id
|
|
|
+ * @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public void pauseTask(Integer taskId) throws InterruptedException {
|
|
|
+ public Integer pauseTask(Integer taskId) throws InterruptedException {
|
|
|
log.info("开始处理【暂停任务】的业务,参数为:taskId={}", taskId);
|
|
|
|
|
|
//检查任务是否存在,若不存在则提示用户 "暂停失败,当前任务已不存在,请尝试刷新页面"
|
|
@@ -482,7 +497,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
Task task = this.getById(taskId);
|
|
|
if (task == null) {
|
|
|
ThrowException.throwXiaoShiException("暂停失败,当前任务已不存在,请尝试刷新页面");
|
|
|
- return;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
//检查任务是否处于进行中状态,若不是则提示用户 "暂停失败,当前任务不处于进行中状态,请尝试刷新页面"
|
|
@@ -509,19 +524,20 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
excutePatentDataStar.setTaskStatus(taskId, 4);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ //若是网站导入任务,则还要将专利各部分装载线程队列中该任务的专利清空
|
|
|
if (task.getType().equals(3) || task.getType().equals(4)) {
|
|
|
- //等上2秒(上述代码虽然使得生产暂停,但是生产暂停前正在存入生产队列的过程中,等2秒使得这些放入消费者队列后再清空消费者)
|
|
|
- Thread.sleep(2000);
|
|
|
+ //等上半秒(上述代码虽然使得生产暂停,但是生产暂停前正在存入生产队列的过程中,等2秒使得这些放入消费者队列后再清空消费者)
|
|
|
+ Thread.sleep(500);
|
|
|
pantentQueueService.setQueueRemoveTasks(taskId);
|
|
|
}
|
|
|
|
|
|
- //等上2秒(上述代码虽然使得生产暂停,但是生产暂停前已生产的专利正在存入消费者队列的过程中,等2秒使得这些放入消费者队列后再清空消费者)
|
|
|
- Thread.sleep(2000);
|
|
|
+ //等上一秒(上述代码虽然使得生产暂停,但是生产暂停前已生产的专利正在存入消费者队列的过程中,等2秒使得这些放入消费者队列后再清空消费者)
|
|
|
+ Thread.sleep(1000);
|
|
|
//将消费者的专利队列中所有该任务的专利剔除
|
|
|
pantentQueueService.consumerQueueRemoveTasks(taskId);
|
|
|
|
|
|
log.info("暂停任务成功");
|
|
|
+ return updateTask.getStatus();
|
|
|
|
|
|
}
|
|
|
|
|
@@ -531,7 +547,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
* @param taskId 任务id
|
|
|
*/
|
|
|
@Override
|
|
|
- public void continueTask(Integer taskId) {
|
|
|
+ public Integer continueTask(Integer taskId) {
|
|
|
log.info("开始处理【继续任务】的业务,参数为:taskId={}", taskId);
|
|
|
|
|
|
//检查任务是否存在,若不存在则提示用户 "继续任务失败,当前任务已不存在,请尝试刷新页面"
|
|
@@ -539,7 +555,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
Task task = this.getById(taskId);
|
|
|
if (task == null) {
|
|
|
ThrowException.throwXiaoShiException("继续任务失败,当前任务已不存在,请尝试刷新页面");
|
|
|
- return;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
//检查任务是否处于暂停状态,若不是则提示用户 "继续任务失败,当前任务未暂停,请尝试刷新页面"
|
|
@@ -558,7 +574,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
}
|
|
|
|
|
|
//将当前任务添加进生产者任务队列进行排队,并唤醒生产者线程
|
|
|
- pantentQueueService.taskQueueAddTask(new ArrayList<>(Arrays.asList(taskId)));
|
|
|
+ pantentQueueService.taskQueueListAddTask(new ArrayList<>(Arrays.asList(taskId)));
|
|
|
|
|
|
//将生产者生产专利类中的公共任务状态从暂停改为0
|
|
|
if (task.getType().equals(1) && excutePatentDataExcel.getpTaskId().equals(task.getId())) {
|
|
@@ -573,6 +589,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
|
|
|
|
|
|
log.info("继续任务成功");
|
|
|
|
|
|
+ return updateTask.getStatus();
|
|
|
}
|
|
|
|
|
|
|