Преглед изворни кода

Merge remote-tracking branch 'origin/dev2' into dev2

# Conflicts:
#	PAS/src/main/java/cn/cslg/pas/common/model/vo/outApi/StarPatentVO.java
#	PAS/src/main/java/cn/cslg/pas/service/PatentRightService.java
chendayu пре 2 година
родитељ
комит
4c2f80d5cd

+ 19 - 3
PAS/src/main/java/cn/cslg/pas/common/model/vo/outApi/StarPatentVO.java

@@ -1,12 +1,12 @@
 package cn.cslg.pas.common.model.vo.outApi;
 
+import cn.cslg.pas.domain.PatentApplicant;
 import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
-/**
- * 专利之星调用一般接口返回专利数据
- */
+import java.util.List;
+
 @Accessors(chain = true)
 @Data
 public class StarPatentVO {
@@ -56,4 +56,20 @@ public class StarPatentVO {
     @JSONField(name = "PNO")
     private String publicNo;
 
+    /**
+     * 发明人
+     */
+    @JSONField(name = "IN")
+    private String inventorStr;
+    private List<String> inventor;
+
+    /**
+     * 公开号
+     */
+    @JSONField(name = "PE")
+    private String currentApplicantStr;
+
+    private List<String>  ipcList;
+    private List<PatentApplicant> applicant;
+
 }

+ 6 - 1
PAS/src/main/java/cn/cslg/pas/controller/outApi/PatentStarController.java

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.Map;
 
 @Tag(name = "专利之星接口服务类")
 @RestController
@@ -27,7 +28,11 @@ public class PatentStarController {
     @PostMapping("/select")
     @Operation(summary = "一般检索接口")
     public String getAreaList(@RequestBody @Validated PatentStarListDto patentStarListDto) throws IOException {
-        return Response.success(patentStarApiService.patentStarSearchApi(patentStarListDto));
+          Map<String,Object> map =  patentStarApiService.patentStarSearchApi(patentStarListDto);
+        if(map==null){
+            return Response.error("检索失败");
+        }
+        return Response.success(map);
     }
 
     @GetMapping("/getCnBib")

+ 34 - 1
PAS/src/main/java/cn/cslg/pas/service/outApi/PatentStarApiService.java

@@ -10,6 +10,7 @@ import cn.cslg.pas.common.model.vo.outApi.StarPatentVO;
 import cn.cslg.pas.common.utils.FormatUtil;
 import cn.cslg.pas.common.utils.JsonUtils;
 import cn.cslg.pas.common.utils.SecurityUtils.SecurityUtils;
+import cn.cslg.pas.domain.PatentApplicant;
 import cn.cslg.pas.domain.PubNo;
 import cn.hutool.crypto.SecureUtil;
 import com.alibaba.fastjson.JSON;
@@ -124,14 +125,46 @@ public class PatentStarApiService {
             // 判断请求是否成功
             if (response.isSuccessful()) {
                 JSONObject jsonObject = JSONObject.parseObject(Objects.requireNonNull(response.body()).string());
+                if(jsonObject.get("Ret").equals(500)){
+
+                    return null;
+                }
                 JSONObject Data = (JSONObject) jsonObject.get("Data");
                 List<StarPatentVO> starPatentVOS = JSONArray.parseArray(Data.get("List").toString(), StarPatentVO.class);
+                starPatentVOS.forEach(item->{
+                    item.setApplicant(new ArrayList<>());
+                    item.setInventor(Arrays.asList(item.getInventorStr().split(";")));
+                    item.setIpcList(Arrays.asList(item.getIpcListStr().split(";")));
+                 List<String> applicants =   Arrays.asList( item.getApplicantStr().split(";"));
+                 applicants.forEach(
+                         tem->{
+                             PatentApplicant patentApplicant =new PatentApplicant();
+                             patentApplicant.setType(2);
+                             patentApplicant.setDataType(2);
+                             patentApplicant.setName(tem);
+                             item.getApplicant().add(patentApplicant);
+                         }
+                 );
+                 if(item.getCurrentApplicantStr()!=null){
+                     List<String> cApplicants =   Arrays.asList(item.getCurrentApplicantStr().split(";"));
+                     cApplicants.forEach(
+                             tem->{
+                                 PatentApplicant patentApplicant =new PatentApplicant();
+                                 patentApplicant.setType(2);
+                                 patentApplicant.setDataType(1);
+                                 patentApplicant.setName(tem);
+                                 item.getApplicant().add(patentApplicant);
+                             }
+                     );
+                 }
+
+                });
                 // 打印服务端返回结果
                 //  return Objects.requireNonNull(response.body()).string();
                 Map<String, Object> reMap = new HashMap<>();
                 reMap.put("size", patentStarListDto.getRowCount());
                 reMap.put("current", patentStarListDto.getPageNum());
-                reMap.put("records", starPatentVOS);
+                reMap.put("records",starPatentVOS);
                 reMap.put("total", Data.get("HitCount"));
                 return reMap;
             }

+ 38 - 0
PAS/src/test/java/cn/cslg/pas/domain/FileSource.java

@@ -0,0 +1,38 @@
+package cn.cslg.pas.domain;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @author 沈永艺
+ * @date 2022-8-12
+ * @description 数据权限类 数据库对应实体
+ */
+
+@Data
+@Accessors(chain = true)
+
+public class FileSource  {
+    /**
+     * 数据字典名字
+     */
+    private String patentNo;
+
+    /**
+     * 数据字典描述
+     */
+    private String pic;
+
+    /**
+     * 数据字典数据库
+     */
+    private String type;
+
+    /**
+     * 数据字典表格
+     */
+    private String url;
+
+
+}