|
@@ -0,0 +1,72 @@
|
|
|
+package cn.cslg.pas.service.business.es;
|
|
|
+
|
|
|
+import cn.cslg.pas.domain.es.Patent;
|
|
|
+import cn.cslg.pas.domain.es.PatentJoin;
|
|
|
+import cn.cslg.pas.domain.es.PatentMergePerson;
|
|
|
+import cn.cslg.pas.domain.es.PatentPerson;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class EsMergePersonService {
|
|
|
+ @Autowired
|
|
|
+ private EsService esService;
|
|
|
+
|
|
|
+ public void addDefaultMergePerson(Patent patent, String patentId, Integer projectId) {
|
|
|
+ List<PatentPerson> applicant = patent.getApplicant();
|
|
|
+ List<PatentPerson> rightHolder = patent.getRightHolder();
|
|
|
+ List<PatentPerson> inventor = patent.getInventor();
|
|
|
+ if (applicant != null && applicant.size() != 0) {
|
|
|
+ this.addMergePersonToEs(applicant,patentId,projectId,"merge_applicat");
|
|
|
+ }
|
|
|
+ if (rightHolder != null && rightHolder.size() != 0) {
|
|
|
+ this.addMergePersonToEs(rightHolder,patentId,projectId,"merge_right_holder");
|
|
|
+ }
|
|
|
+ if (inventor != null && inventor.size() != 0) {
|
|
|
+ this.addMergePersonToEs(inventor,patentId,projectId,"merge_inventor");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void addMergePersonToEs(List<PatentPerson> personList, String patentId, Integer projectId, String mergeType) {
|
|
|
+ if (personList != null && personList.size() != 0) {
|
|
|
+ List<PatentMergePerson> patentMergePersons = new ArrayList<>();
|
|
|
+ personList.forEach(item -> {
|
|
|
+ PatentMergePerson patentMergePerson = new PatentMergePerson();
|
|
|
+ patentMergePerson.setName(item.getName());
|
|
|
+ patentMergePerson.setOrder(item.getOrder());
|
|
|
+ patentMergePerson.setProjectId(projectId.toString());
|
|
|
+ patentMergePerson.setType(item.getType());
|
|
|
+ patentMergePersons.add(patentMergePerson);
|
|
|
+ });
|
|
|
+ Patent patent = new Patent();
|
|
|
+ if (patentMergePersons.size() != 0) {
|
|
|
+ switch (mergeType) {
|
|
|
+ case "merge_applicat":
|
|
|
+ patent.setMergeApplicant(patentMergePersons);
|
|
|
+ break;
|
|
|
+ case "merge_right_holder":
|
|
|
+ patent.setMergeRightHolder(patentMergePersons);
|
|
|
+ break;
|
|
|
+ case "merge_inventor":
|
|
|
+ patent.setMergeInventor(patentMergePersons);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PatentJoin patentJoin = new PatentJoin();
|
|
|
+ patentJoin.setParent(patentId);
|
|
|
+ patentJoin.setName(mergeType);
|
|
|
+ patent.setPatentJoin(patentJoin);
|
|
|
+ try {
|
|
|
+ esService.addChildPatent(patent, patentId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|