瀏覽代碼

fixed collect patent

zero 1 年之前
父節點
當前提交
c5cc8e7c72

+ 13 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/patent/DelCollectPatentDTO.java

@@ -0,0 +1,13 @@
+package com.example.xiaoshiweixinback.entity.dto.patent;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DelCollectPatentDTO {
+
+    private Integer assoPersonProductId;
+
+    private List<String> patentNos;
+}

+ 41 - 5
src/main/java/com/example/xiaoshiweixinback/service/importPatent/EsPatentService.java

@@ -15,9 +15,7 @@ import com.example.xiaoshiweixinback.business.utils.CacheUtil;
 import com.example.xiaoshiweixinback.business.utils.LoginUtils;
 import com.example.xiaoshiweixinback.business.utils.LoginUtils;
 import com.example.xiaoshiweixinback.business.utils.ToolUtil;
 import com.example.xiaoshiweixinback.business.utils.ToolUtil;
 import com.example.xiaoshiweixinback.domain.AssoPersonProduct;
 import com.example.xiaoshiweixinback.domain.AssoPersonProduct;
-import com.example.xiaoshiweixinback.domain.es.Patent;
-import com.example.xiaoshiweixinback.domain.es.PatentJoin;
-import com.example.xiaoshiweixinback.domain.es.PatentVector;
+import com.example.xiaoshiweixinback.domain.es.*;
 import com.example.xiaoshiweixinback.entity.dto.patent.CollectPatentDTO;
 import com.example.xiaoshiweixinback.entity.dto.patent.CollectPatentDTO;
 import com.example.xiaoshiweixinback.entity.dto.patent.PatentColumnDTO;
 import com.example.xiaoshiweixinback.entity.dto.patent.PatentColumnDTO;
 import com.example.xiaoshiweixinback.entity.dto.patent.SelectCollectPatentDTO;
 import com.example.xiaoshiweixinback.entity.dto.patent.SelectCollectPatentDTO;
@@ -25,6 +23,9 @@ import com.example.xiaoshiweixinback.entity.vo.PersonnelVO;
 import com.example.xiaoshiweixinback.entity.vo.esPicture.EsPictureNoVo;
 import com.example.xiaoshiweixinback.entity.vo.esPicture.EsPictureNoVo;
 import com.example.xiaoshiweixinback.mapper.AssoPersonProductMapper;
 import com.example.xiaoshiweixinback.mapper.AssoPersonProductMapper;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -33,6 +34,7 @@ import org.springframework.util.CollectionUtils;
 import java.io.IOException;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @Service
 @Service
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
@@ -126,8 +128,7 @@ public class EsPatentService {
         long total = response.hits().total().value();
         long total = response.hits().total().value();
         for (Hit<Patent> hit : hits) {
         for (Hit<Patent> hit : hits) {
             Patent patent = hit.source();
             Patent patent = hit.source();
-            PatentColumnDTO columnDTO = new PatentColumnDTO();
-            BeanUtil.copy(patent, columnDTO);
+            PatentColumnDTO columnDTO = this.getPatentColumnDTO(patent, null, null);
             list.add(columnDTO);
             list.add(columnDTO);
         }
         }
 
 
@@ -139,6 +140,41 @@ public class EsPatentService {
         return records;
         return records;
     }
     }
 
 
+    //装载专利清单列表的数据
+    public PatentColumnDTO getPatentColumnDTO(Patent patent, Integer projectId, String id) {
+        PatentColumnDTO columnDTO = new PatentColumnDTO();
+        BeanUtil.copy(patent, columnDTO);
+        if (ToolUtil.isNotEmpty(patent.getApplicantAddr())) {
+            PersonAddress applicantAddr = patent.getApplicantAddr();
+            columnDTO.setAppAddress(applicantAddr.getAddress());
+            columnDTO.setApplicantCountry(applicantAddr.getCountry());
+            columnDTO.setAppProvince(applicantAddr.getProvince());
+            columnDTO.setAppCity(applicantAddr.getCity());
+            columnDTO.setAppDistrict(applicantAddr.getDistrict());
+        }
+        if (ToolUtil.isNotEmpty(patent.getRightHolderAddr())) {
+            PersonAddress rightAddr = patent.getRightHolderAddr();
+            columnDTO.setRightAddress(rightAddr.getAddress());
+            columnDTO.setRightCountry(rightAddr.getCountry());
+            columnDTO.setRightProvince(rightAddr.getProvince());
+            columnDTO.setRightCity(rightAddr.getCity());
+            columnDTO.setRightDistrict(rightAddr.getDistrict());
+        }
+        columnDTO.setApplicant(this.loadName(patent.getApplicant()));
+        columnDTO.setRightHolder(this.loadName(patent.getRightHolder()));
+        columnDTO.setInventor(this.loadName(patent.getInventor()));
+        return columnDTO;
+    }
+
+    //通用返回申请人、权利人、发明人
+    public List<String> loadName(List<PatentPerson> list) {
+        List<String> collect = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(list)) {
+            collect = list.stream().filter(i -> StringUtils.isNotEmpty(i.getName())).map(PatentPerson::getName).collect(Collectors.toList());
+        }
+        return collect;
+    }
+
     /**
     /**
      * 根据专利号获取专利id
      * 根据专利号获取专利id
      * @param patentNo
      * @param patentNo