EsMergePersonService.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package cn.cslg.pas.service.business.es;
  2. import cn.cslg.pas.domain.es.Patent;
  3. import cn.cslg.pas.domain.es.PatentJoin;
  4. import cn.cslg.pas.domain.es.PatentMergePerson;
  5. import cn.cslg.pas.domain.es.PatentPerson;
  6. import lombok.RequiredArgsConstructor;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.context.annotation.Lazy;
  9. import org.springframework.stereotype.Service;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. @Service
  13. public class EsMergePersonService {
  14. @Autowired
  15. private EsService esService;
  16. public void addDefaultMergePerson(Patent patent, String patentId, Integer projectId) {
  17. List<PatentPerson> applicant = patent.getApplicant();
  18. List<PatentPerson> rightHolder = patent.getRightHolder();
  19. List<PatentPerson> inventor = patent.getInventor();
  20. if (applicant != null && applicant.size() != 0) {
  21. this.addMergePersonToEs(applicant, patentId, projectId, "merge_applicat");
  22. }
  23. if (rightHolder != null && rightHolder.size() != 0) {
  24. this.addMergePersonToEs(rightHolder, patentId, projectId, "merge_right_holder");
  25. }
  26. if (inventor != null && inventor.size() != 0) {
  27. this.addMergePersonToEs(inventor, patentId, projectId, "merge_inventor");
  28. }
  29. }
  30. public void addMergePersonToEs(List<PatentPerson> personList, String patentId, Integer projectId, String mergeType) {
  31. if (personList != null && personList.size() != 0) {
  32. List<PatentMergePerson> patentMergePersons = new ArrayList<>();
  33. personList.forEach(item -> {
  34. PatentMergePerson patentMergePerson = new PatentMergePerson();
  35. patentMergePerson.setName(item.getName());
  36. patentMergePerson.setOrder(item.getOrder());
  37. patentMergePerson.setProjectId(projectId.toString());
  38. patentMergePerson.setType(item.getType());
  39. patentMergePersons.add(patentMergePerson);
  40. });
  41. Patent patent = new Patent();
  42. if (patentMergePersons.size() != 0) {
  43. switch (mergeType) {
  44. case "merge_applicat":
  45. patent.setMergeApplicant(patentMergePersons);
  46. break;
  47. case "merge_right_holder":
  48. patent.setMergeRightHolder(patentMergePersons);
  49. break;
  50. case "merge_inventor":
  51. patent.setMergeInventor(patentMergePersons);
  52. break;
  53. }
  54. }
  55. PatentJoin patentJoin = new PatentJoin();
  56. patentJoin.setParent(patentId);
  57. patentJoin.setName(mergeType);
  58. patent.setPatentJoin(patentJoin);
  59. try {
  60. esService.addChildPatent(patent, patentId);
  61. } catch (Exception e) {
  62. }
  63. }
  64. }
  65. public void addMergePersonToEs2(List<PatentMergePerson> patentMergePersons, String patentId, Integer projectId, String mergeType) {
  66. if (patentMergePersons != null && patentMergePersons.size() != 0) {
  67. patentMergePersons.forEach(item -> item.setProjectId(projectId.toString()));
  68. Patent patent = new Patent();
  69. if (patentMergePersons.size() != 0) {
  70. switch (mergeType) {
  71. case "merge_applicant":
  72. patent.setMergeApplicant(patentMergePersons);
  73. break;
  74. case "merge_right_holder":
  75. patent.setMergeRightHolder(patentMergePersons);
  76. break;
  77. case "merge_inventor":
  78. patent.setMergeInventor(patentMergePersons);
  79. break;
  80. }
  81. }
  82. PatentJoin patentJoin = new PatentJoin();
  83. patentJoin.setParent(patentId);
  84. patentJoin.setName(mergeType);
  85. patent.setPatentJoin(patentJoin);
  86. try {
  87. esService.addChildPatent(patent, patentId);
  88. } catch (Exception e) {
  89. }
  90. }
  91. }
  92. }