Bladeren bron

2/1 导入修改

lwhhszx 1 jaar geleden
bovenliggende
commit
42b5ef7fd9

+ 11 - 3
src/main/java/cn/cslg/pas/factorys/PatentImportFactory/PatentImportFactory.java

@@ -1,6 +1,9 @@
 package cn.cslg.pas.factorys.PatentImportFactory;
 
+import cn.cslg.pas.service.importPatent.ImportFromExcelToEsService;
+import cn.cslg.pas.service.importPatent.ImportFromWebToEsService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -9,10 +12,15 @@ import java.util.Map;
 public class PatentImportFactory {
     @Autowired
     private Map<String, PatentImportImp> patentImportMap;
-
+    @Autowired
+    private ApplicationContext applicationContext;
 
     public PatentImportImp getClass(String shapeType) {
-        PatentImportImp bean= patentImportMap.get(shapeType);
-        return bean;
+        if (shapeType.equals("importFromWebToEsService"))
+            return applicationContext.getBean(ImportFromWebToEsService.class);
+        else if(shapeType.equals("importFromExcelToEsService")){
+            return applicationContext.getBean(ImportFromExcelToEsService.class);
+        }
+        return null;
     }
 }

+ 1 - 1
src/main/java/cn/cslg/pas/service/common/PatentStarApiService.java

@@ -18,7 +18,7 @@ import cn.cslg.pas.domain.business.RetrieveRecord;
 import cn.cslg.pas.domain.es.*;
 import cn.cslg.pas.service.WebLoginConfigService;
 
-import cn.cslg.pas.service.importPatent.ImportFromWebToEsService;
+
 import cn.cslg.pas.service.query.FormatQueryService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;

+ 4 - 4
src/main/java/cn/cslg/pas/service/importPatent/SavePatentToEsThread.java

@@ -31,8 +31,8 @@ import java.util.concurrent.locks.ReentrantLock;
 public class SavePatentToEsThread extends Thread {
     private ApplicationContext applicationContext;
     private List<Patent> patents = new ArrayList<>();
-    private final Lock taskLock = new ReentrantLock();
-    private final Condition taskCondition = taskLock.newCondition();
+    private Lock taskLock = new ReentrantLock();
+    private  Condition taskCondition = taskLock.newCondition();
     private TaskThread taskThread;
     private ImportTaskAMVO importTaskAMVO;
     private Boolean ifProductAll = false;
@@ -151,9 +151,9 @@ public class SavePatentToEsThread extends Thread {
     public void setIfProductAll(Boolean ifProductAll) {
 
         this.ifProductAll = ifProductAll;
-        System.out.println("专利导入全部结束"+ this.ifProductAll);
+        System.out.println("专利导入全部结束"+ this.ifProductAll+importTaskAMVO.getId());
         if (taskLock.tryLock()) {
-            System.out.println("专利导入到es解锁");
+            System.out.println("专利导入到es解锁"+importTaskAMVO.getId());
             taskCondition.signalAll();
             taskLock.unlock();
         }

+ 7 - 0
src/main/java/cn/cslg/pas/service/importPatent/SchedulingTaskService.java

@@ -135,4 +135,11 @@ public class SchedulingTaskService {
     public List<ImportTaskAMVO> getImportTaskAMVOs() {
         return this.importTaskAMVOS;
     }
+    public void removeTaskAMVO(Integer taskId){
+        if(importTaskAMVOS!=null&&importTaskAMVOS.size()>0){
+            importTaskAMVOS.removeIf(i->i.getId().equals(taskId));
+        }
+
+
+    }
 }

+ 3 - 1
src/main/java/cn/cslg/pas/service/importPatent/TaskThread.java

@@ -96,9 +96,9 @@ public class TaskThread extends Thread {
         }
         importTaskAMVO.setMessageThreadCounter(messageThreadCount);
         importTaskAMVO.setThreadCounter(threadCount);
-        this.applicationContext = applicationContext;
         this.patentProcess.setPatentDoneNum(importTaskAMVO.getDoneNum());
         this.patentProcess.setPatentDefaultNum(importTaskAMVO.getDefaultNum());
+        this.applicationContext = applicationContext;
 
     }
 
@@ -135,6 +135,8 @@ public class TaskThread extends Thread {
         task.updateById();
         MessageService messageService = applicationContext.getBean(MessageService.class);
         messageService.sendAllDoneMessage(importTaskAMVO);
+        SchedulingTaskService schedulingTaskService =applicationContext.getBean(SchedulingTaskService.class);
+   schedulingTaskService.removeTaskAMVO(importTaskAMVO.getId());
     }
 
 

+ 13 - 3
src/test/java/cn/cslg/pas/service/CommonServiceTests.java

@@ -9,14 +9,19 @@ import cn.cslg.pas.common.utils.RabbitMQUtils;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.utils.esDataForm.AddressSplitter;
 import cn.cslg.pas.common.vo.DepartmentVO;
+import cn.cslg.pas.common.vo.ImportTaskAMVO;
 import cn.cslg.pas.common.vo.business.ScenarioVO;
 import cn.cslg.pas.controller.CommonController;
 import cn.cslg.pas.controller.EventController;
 import cn.cslg.pas.domain.business.Matter;
 import cn.cslg.pas.domain.es.PersonAddress;
+import cn.cslg.pas.factorys.PatentImportFactory.PatentImportFactory;
+import cn.cslg.pas.factorys.PatentImportFactory.PatentImportImp;
 import cn.cslg.pas.service.business.CommonService;
 import cn.cslg.pas.service.common.FileManagerService;
+import cn.cslg.pas.service.importPatent.SavePatentToEsThread;
 import cn.cslg.pas.service.importPatent.SchedulingTaskService;
+import cn.cslg.pas.service.importPatent.TaskThread;
 import cn.cslg.pas.service.permissions.PermissionService;
 import cn.cslg.pas.service.query.FormatQueryService;
 import com.alibaba.druid.sql.visitor.functions.Char;
@@ -54,6 +59,9 @@ public class CommonServiceTests {
 
     @Autowired
     private ReportExportService reportExportService;
+
+    @Autowired
+    private PatentImportFactory patentImportFactory;
     @Test
     void test() throws Exception {
         String aa = permissionService.getPersonIdByNamePCS("朱", false);
@@ -137,8 +145,10 @@ public class CommonServiceTests {
 //李仁杰<2232723707@qq.com>"
     @Test
     public void testEmail() throws Exception{
-        String te = "201100 上海市闵行区园美路58号1幢2层203、204室";
-        te+="aaaa";
- System.out.println(te);
+
+        PatentImportImp patentImportImp = patentImportFactory.getClass("importFromWebToEsService");
+        PatentImportImp patentImportImp2 = patentImportFactory.getClass("importFromWebToEsService");
+          System.out.println(patentImportImp);
+        System.out.println(patentImportImp2);
     }
     }