chenyi 1 年間 前
コミット
e828bfc53f

+ 46 - 19
src/main/java/cn/cslg/pas/service/business/MergePersonService.java

@@ -203,10 +203,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         String name = vo.getName();
         Integer type = vo.getType();
         //1.保存到mySQL表
-        Integer personId = 0;
-        if (!CollectionUtils.isEmpty(vo.getMergedName())) {
-            personId = saveMergePerson(vo);
-        }
+        Integer personId = saveMergePerson(vo);
         //2.更新ES的合并数据
         //  2.1.查询合并后的数据
         List<Hit<Patent>> hits = searchChildByIterator(vo);
@@ -1163,22 +1160,25 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         //4.查询父文档拿出对应type的数据后添加新的子文档
         searchPatent(patentIds, type, projectId);
         //5.合并
-        MergePersonVO personVO = new MergePersonVO();
-        personVO.setProjectId(projectId);
-        personVO.setType(type);
-        personVO.setName(name);
-        personVO.setAbbreviation(personVO.getAbbreviation());
-        personVO.setCountry(person.getCountry());
-        personVO.setProvince(person.getProvince());
-        personVO.setAddress(person.getAddress());
-        personVO.setRemark(person.getRemark());
-        personVO.setMergedName(list);
-        Integer id = null;
-        try {
-            id = this.mergePerson(personVO);
-        } catch (Exception e) {
-            throw new XiaoShiException("移除失败");
+        Integer id = 0;
+        if (!CollectionUtils.isEmpty(list)) {
+            MergePersonVO personVO = new MergePersonVO();
+            personVO.setProjectId(projectId);
+            personVO.setType(type);
+            personVO.setName(name);
+            personVO.setAbbreviation(personVO.getAbbreviation());
+            personVO.setCountry(person.getCountry());
+            personVO.setProvince(person.getProvince());
+            personVO.setAddress(person.getAddress());
+            personVO.setRemark(person.getRemark());
+            personVO.setMergedName(list);
+            try {
+                id = this.mergePerson(personVO);
+            } catch (Exception e) {
+                throw new XiaoShiException("移除失败");
+            }
         }
+
         return id;
     }
 
@@ -1379,4 +1379,31 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
             return -1;
         }
     }
+
+    /**
+     * 删除申请人/权利人/发明人合并名称
+     *
+     * @param patent
+     * @param id
+     * @return
+     */
+    public Integer delMergePerson(Patent patent, String id, Integer type, String name) {
+        String source = "";
+        if (type == 0) {
+            source = "if (ctx._source.merge_applicant != null) { ctx._source.merge_applicant.removeIf(item -> item.name == params.name); } if (ctx._source.merge_right_holder  != null) { ctx._source.merge_right_holder .removeIf(item -> item.name == params.name); }";
+        } else {
+            source = "if (ctx._source.merge_inventor != null) { ctx._source.merge_inventor.removeIf(item -> item.name == params.name); }";
+        }
+        String finalSource = source;
+        InlineScript inlineScript = InlineScript.of(i -> i.lang("painless").params("name", JsonData.of(name)).source(finalSource));
+        Script script = Script.of(i -> i.inline(inlineScript));
+        Query query = QueryBuilders.term(i -> i.field("_id").value(id));
+        UpdateByQueryRequest request = UpdateByQueryRequest.of(i -> i.index("patent").script(script).query(query));
+        try {
+            client.updateByQuery(request);
+            return 1;
+        } catch (IOException e) {
+            return -1;
+        }
+    }
 }

+ 0 - 51
src/main/java/cn/cslg/pas/service/business/es/EsService.java

@@ -1389,57 +1389,6 @@ public class EsService {
         return dto;
     }
 
-    /**
-     * 更新合并申请人/权利人/发明人
-     *
-     * @param patent
-     * @param id
-     * @return
-     */
-    public Integer updateMergePerson(Patent patent, String id) {
-        UpdateRequest<Patent, Patent> req;
-        req = UpdateRequest.of(
-                b -> b.index("patent")
-                        .id(id)
-                        .doc(patent)
-                        .docAsUpsert(true)
-        );
-        try {
-            client.update(req, Patent.class);
-            return 1;
-        } catch (IOException e) {
-            return -1;
-        }
-    }
-
-    /**
-     * 删除申请人/权利人/发明人合并名称
-     *
-     * @param patent
-     * @param id
-     * @return
-     */
-    public Integer delMergePerson(Patent patent, String id, Integer type, String name) {
-        String source = "";
-        if (type == 0) {
-            source = "if (ctx._source.merge_applicant != null) { ctx._source.merge_applicant.removeIf(item -> item.name == params.name); } if (ctx._source.merge_right_holder  != null) { ctx._source.merge_right_holder .removeIf(item -> item.name == params.name); }";
-        } else {
-            source = "if (ctx._source.merge_inventor != null) { ctx._source.merge_inventor.removeIf(item -> item.name == params.name); }";
-        }
-        String finalSource = source;
-        InlineScript inlineScript = InlineScript.of(i -> i.lang("painless").params("name", JsonData.of(name)).source(finalSource));
-        Script script = Script.of(i -> i.inline(inlineScript));
-        Query query = QueryBuilders.term(i -> i.field("_id").value(id));
-        UpdateByQueryRequest request = UpdateByQueryRequest.of(i -> i.index("patent").script(script).query(query));
-        try {
-            client.updateByQuery(request);
-            return 1;
-        } catch (IOException e) {
-            return -1;
-        }
-    }
-
-
     public PatentFamilyMessageWithId queryPatentFamily(Patent patent, String type) throws Exception {
         //查询该专利是否已有同族
         SearchRequest.Builder builderPatent = new SearchRequest.Builder();

+ 1 - 1
src/test/java/cn/cslg/pas/service/EventServiceTests.java

@@ -425,7 +425,7 @@ public class EventServiceTests {
         String id = "hy7ayIwB68vilgBjUWBz";
         String name = "士大夫";
         Integer type = 0;
-        esService.delMergePerson(patent, id, type, name);
+        mergePersonService.delMergePerson(patent, id, type, name);
     }
 
     @Test