Explorar el Código

Merge remote-tracking branch 'origin/master'

xiexiang hace 1 año
padre
commit
5389cae634

+ 4 - 4
src/main/java/com/example/xiaoshiweixinback/controller/PatentController.java

@@ -118,13 +118,13 @@ public class PatentController {
     }
 
     //--------------------------- 其他  --------------------------
-    @Operation(summary = "查询专利--zero")
+    @Operation(summary = "查询专利(用于导出专利数据)--zero")
     @PostMapping(value = "/selectPatent")
-    public Response selectPatent(@RequestParam(value = "condition", required = false) String condition, @RequestParam(value = "multipartFile", required = false) MultipartFile multipartFile) throws Exception {
+    public Response selectPatent(@RequestParam(value = "searchQuery", required = false) String searchQuery, @RequestParam(value = "multipartFile", required = false) MultipartFile multipartFile) throws Exception {
         File file = FileUtils.multipartFileToFile(multipartFile);
         SelectPatentDTO patentDTO = new SelectPatentDTO();
-        if (StringUtils.isNotEmpty(condition)) {
-            patentDTO = JSONObject.parseObject(condition, SelectPatentDTO.class);
+        if (StringUtils.isNotEmpty(searchQuery)) {
+            patentDTO = JSONObject.parseObject(searchQuery, SelectPatentDTO.class);
         }
         List<PatentColumnDTO> columnDTOS = esPatentService.selectPatent(patentDTO, file);
         return Response.success(columnDTOS);

+ 6 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/patent/SelectPatentDTO.java

@@ -2,6 +2,8 @@ package com.example.xiaoshiweixinback.entity.dto.patent;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class SelectPatentDTO {
 
@@ -19,4 +21,8 @@ public class SelectPatentDTO {
 
     //图片描述
     private String description;
+
+    //专利号
+    private List<String> appNos;
+
 }

+ 42 - 6
src/main/java/com/example/xiaoshiweixinback/service/importPatent/EsPatentService.java

@@ -301,13 +301,18 @@ public class EsPatentService {
     }
 
     //-------------------查询相关专利信息-----------
+
+    /**
+     * 查询专利(用于导出专利数据)
+     * @param patentDTO
+     * @param file
+     * @return
+     * @throws Exception
+     */
     public List<PatentColumnDTO> selectPatent(SelectPatentDTO patentDTO, File file) throws Exception {
         List<PatentColumnDTO> columnDTOS = new ArrayList<>();
-        //根据条件获取图片专利里的数据信息,如appNo
-        List<EsPatentVectorVo> vectorVos = this.selectPicturePatent(patentDTO, file);
-        if (!CollectionUtils.isEmpty(vectorVos)) {
-            for (EsPatentVectorVo vectorVo : vectorVos) {
-                String appNo = vectorVo.getAppNo();
+        if (CollectionUtils.isEmpty(patentDTO.getAppNos())) {
+            for (String appNo : patentDTO.getAppNos()) {
                 //获取专利的多张摘要附图
                 EsPictureNoDTO esPictureNoDTO = new EsPictureNoDTO();
                 esPictureNoDTO.setAppNo(appNo);
@@ -319,10 +324,36 @@ public class EsPatentService {
                 columnDTO.setPictureGuids(guids);
                 columnDTOS.add(columnDTO);
             }
+        } else {
+            //根据条件获取图片专利里的数据信息,如appNo
+            List<EsPatentVectorVo> vectorVos = this.selectPicturePatent(patentDTO, file);
+            if (!CollectionUtils.isEmpty(vectorVos)) {
+                for (EsPatentVectorVo vectorVo : vectorVos) {
+                    String appNo = vectorVo.getAppNo();
+                    //获取专利的多张摘要附图
+                    EsPictureNoDTO esPictureNoDTO = new EsPictureNoDTO();
+                    esPictureNoDTO.setAppNo(appNo);
+                    List<EsPictureNoVo> noVos = esDenseVectorService.getPictureByNo(esPictureNoDTO);
+                    List<String> guids = noVos.stream().map(EsPictureNoVo::getGuid).collect(Collectors.toList());
+
+                    //根据专利申请号appNo获取专利信息
+                    PatentColumnDTO columnDTO = this.selectPatentByAppNo(appNo);
+                    columnDTO.setPictureGuids(guids);
+                    columnDTOS.add(columnDTO);
+                }
+            }
         }
+
         return columnDTOS;
     }
 
+    /**
+     * 获取图片专利里的信息
+     * @param patentDTO
+     * @param file
+     * @return
+     * @throws Exception
+     */
     public List<EsPatentVectorVo> selectPicturePatent(SelectPatentDTO patentDTO, File file) throws Exception {
         Boolean ifAllExport = patentDTO.getIfAllExport();
         Integer limitNum = patentDTO.getLimitNum();
@@ -395,7 +426,12 @@ public class EsPatentService {
         return vectorVos;
     }
 
-
+    /**
+     * 根据申请号查询专利信息
+     * @param appNo
+     * @return
+     * @throws IOException
+     */
     public PatentColumnDTO selectPatentByAppNo(String appNo) throws IOException {
         PatentColumnDTO columnDTO = new PatentColumnDTO();
         SearchRequest.Builder builder = new SearchRequest.Builder();