|
@@ -11,6 +11,7 @@ import cn.cslg.pas.domain.business.ImportTask;
|
|
import cn.cslg.pas.domain.es.Patent;
|
|
import cn.cslg.pas.domain.es.Patent;
|
|
import cn.cslg.pas.factorys.PatentImportFactory.PatentImportFactory;
|
|
import cn.cslg.pas.factorys.PatentImportFactory.PatentImportFactory;
|
|
import cn.cslg.pas.factorys.PatentImportFactory.PatentImportImp;
|
|
import cn.cslg.pas.factorys.PatentImportFactory.PatentImportImp;
|
|
|
|
+import cn.cslg.pas.service.MailSendService;
|
|
import cn.cslg.pas.service.business.CommonService;
|
|
import cn.cslg.pas.service.business.CommonService;
|
|
import cn.cslg.pas.service.business.ImportTaskService;
|
|
import cn.cslg.pas.service.business.ImportTaskService;
|
|
import cn.cslg.pas.service.common.MessageService;
|
|
import cn.cslg.pas.service.common.MessageService;
|
|
@@ -113,8 +114,8 @@ public class TaskThread extends Thread {
|
|
ImportTaskConfig config = configs.stream().filter(item -> item.getTaskType().equals(importTaskAMVO.getType()) && item.getImportTo().equals(Constants.IMPORT_PATENT_TO)).findFirst().orElse(null);
|
|
ImportTaskConfig config = configs.stream().filter(item -> item.getTaskType().equals(importTaskAMVO.getType()) && item.getImportTo().equals(Constants.IMPORT_PATENT_TO)).findFirst().orElse(null);
|
|
PatentImportImp patentImportImp = patentImportFactory.getClass(config.getImportClass());
|
|
PatentImportImp patentImportImp = patentImportFactory.getClass(config.getImportClass());
|
|
patentImportImp.setTaskThread(this);
|
|
patentImportImp.setTaskThread(this);
|
|
- Boolean flag= patentImportImp.startPatentThread();
|
|
|
|
- if(flag) {
|
|
|
|
|
|
+ Boolean flag = patentImportImp.startPatentThread();
|
|
|
|
+ if (flag) {
|
|
taskThreadLock.lock();
|
|
taskThreadLock.lock();
|
|
try {
|
|
try {
|
|
taskThreadCondition.await();
|
|
taskThreadCondition.await();
|
|
@@ -127,6 +128,9 @@ public class TaskThread extends Thread {
|
|
if (importTaskAMVO.getState().equals(1)) {
|
|
if (importTaskAMVO.getState().equals(1)) {
|
|
task.setState(2);
|
|
task.setState(2);
|
|
importTaskAMVO.setState(2);
|
|
importTaskAMVO.setState(2);
|
|
|
|
+ MailSendService mailSendService = applicationContext.getBean(MailSendService.class);
|
|
|
|
+
|
|
|
|
+ mailSendService.sendImportTaskDoneEmail("导入任务",task.getName(),task.getCreateId());
|
|
|
|
|
|
} else {
|
|
} else {
|
|
task.setState(importTaskAMVO.getState());
|
|
task.setState(importTaskAMVO.getState());
|
|
@@ -136,9 +140,9 @@ public class TaskThread extends Thread {
|
|
task.updateById();
|
|
task.updateById();
|
|
MessageService messageService = applicationContext.getBean(MessageService.class);
|
|
MessageService messageService = applicationContext.getBean(MessageService.class);
|
|
messageService.sendAllDoneMessage(importTaskAMVO);
|
|
messageService.sendAllDoneMessage(importTaskAMVO);
|
|
- SchedulingTaskService schedulingTaskService =applicationContext.getBean(SchedulingTaskService.class);
|
|
|
|
- schedulingTaskService.removeTaskAMVO(importTaskAMVO.getId());
|
|
|
|
- schedulingTaskService.startTask();
|
|
|
|
|
|
+ SchedulingTaskService schedulingTaskService = applicationContext.getBean(SchedulingTaskService.class);
|
|
|
|
+ schedulingTaskService.removeTaskAMVO(importTaskAMVO.getId());
|
|
|
|
+ schedulingTaskService.startTask();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -148,7 +152,7 @@ public class TaskThread extends Thread {
|
|
public void awakeTaskThread() {
|
|
public void awakeTaskThread() {
|
|
synchronized ("导入任务是否完成") {
|
|
synchronized ("导入任务是否完成") {
|
|
importTaskAMVO.setThreadDoneCounter(importTaskAMVO.getThreadDoneCounter() + 1);
|
|
importTaskAMVO.setThreadDoneCounter(importTaskAMVO.getThreadDoneCounter() + 1);
|
|
- System.out.println("任务已经完成第"+importTaskAMVO.getThreadDoneCounter());
|
|
|
|
|
|
+ System.out.println("任务已经完成第" + importTaskAMVO.getThreadDoneCounter());
|
|
if (importTaskAMVO.getThreadCounter().equals(importTaskAMVO.getThreadDoneCounter())) {
|
|
if (importTaskAMVO.getThreadCounter().equals(importTaskAMVO.getThreadDoneCounter())) {
|
|
|
|
|
|
System.out.println("任务已经完成");
|
|
System.out.println("任务已经完成");
|
|
@@ -163,7 +167,7 @@ public class TaskThread extends Thread {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- public void doneTask(){
|
|
|
|
|
|
+ public void doneTask() {
|
|
if (taskThreadLock.tryLock()) {
|
|
if (taskThreadLock.tryLock()) {
|
|
//taskLock.lock();
|
|
//taskLock.lock();
|
|
taskThreadCondition.signalAll();
|
|
taskThreadCondition.signalAll();
|