lwhhszx пре 2 година
родитељ
комит
ac11ee4e58

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

@@ -1,5 +1,7 @@
 package cn.cslg.pas.common.model.vo.outApi;
 
+import cn.cslg.pas.domain.PatentAgency;
+import cn.cslg.pas.domain.PatentAgent;
 import cn.cslg.pas.domain.PatentApplicant;
 import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
@@ -15,6 +17,13 @@ public class StarPatentVO {
      */
     @JSONField(name = "PN")
     private String patentNo;
+
+    /**
+     * 公告号
+     */
+    @JSONField(name = "GN")
+    private String announceNo;
+
     /**
      * 摘要
      */
@@ -53,7 +62,7 @@ public class StarPatentVO {
     /**
      * 公开号
      */
-    @JSONField(name = "PNO")
+    @JSONField(name = "PN")
     private String publicNo;
 
     /**
@@ -68,8 +77,27 @@ public class StarPatentVO {
      */
     @JSONField(name = "PE")
     private String currentApplicantStr;
+    /**
+     * 代理机构
+     */
 
+    @JSONField(name = "AGN")
+    private String agencyStr;
+    /**
+     * 代理人
+     */
+
+    @JSONField(name = "AT")
+    private String agentStr;
+
+    /**
+     * 法律状态
+     */
+    @JSONField(name = "LG")
+    private Integer LG;
     private List<String>  ipcList;
     private List<PatentApplicant> applicant;
-
+    private PatentAgency agency;
+    private List<PatentAgent> agent;
+    private String simpleStatus;
 }

+ 4 - 7
PAS/src/main/java/cn/cslg/pas/service/TaskService.java

@@ -1,15 +1,13 @@
 package cn.cslg.pas.service;
 
-import cn.cslg.pas.common.core.base.Constants;
-import cn.cslg.pas.common.model.dto.ClientDTO;
+
 import cn.cslg.pas.common.model.dto.QrtzTaskAddNewDTO;
-import cn.cslg.pas.common.model.vo.ProductVO;
+
 import cn.cslg.pas.common.model.vo.ProjectImportPatentVO;
 import cn.cslg.pas.common.model.vo.ProjectVO;
 import cn.cslg.pas.common.utils.*;
 import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
-import cn.cslg.pas.domain.Project;
-import cn.cslg.pas.domain.SystemDict;
+
 import cn.cslg.pas.domain.Task;
 import cn.cslg.pas.common.model.vo.TaskVO;
 import cn.cslg.pas.domain.asso.AssoOsTaskQrtzTask;
@@ -17,11 +15,10 @@ import cn.cslg.pas.mapper.TaskMapper;
 import cn.cslg.pas.common.model.dto.UploadFileDTO;
 import cn.cslg.pas.service.upLoadPatent.ExcutePatentDataExcel;
 import cn.cslg.pas.service.upLoadPatent.PantentQueueService;
-import cn.dev33.satoken.stp.StpUtil;
+
 import cn.hutool.core.io.FileUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

+ 79 - 38
PAS/src/main/java/cn/cslg/pas/service/outApi/PatentStarApiService.java

@@ -10,6 +10,8 @@ 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.PatentAgency;
+import cn.cslg.pas.domain.PatentAgent;
 import cn.cslg.pas.domain.PatentApplicant;
 import cn.cslg.pas.domain.PubNo;
 import cn.hutool.crypto.SecureUtil;
@@ -50,19 +52,15 @@ public class PatentStarApiService {
     @Value("${PASUrl}")
     private String PASUrl;
    public static String formatValue(String value){
-       return  value.replace("-","<");
+       return  value.replace("~",">");
    }
-    public static String formatKey(String Key){
-        return "";
-    }
-
     public static String formatQuery(String query) {
         query = query
                 .replace(" AND ", "*")
                 .replace(" OR ", "+")
                 .replace(" NOT ", "-");
         StringBuilder sb = new StringBuilder(query);
-        String regex = "(?<=[\\(\\)\\+\\-=\\*])[\\w\\W]+?(?=[\\(\\+\\-=\\)\\*])";
+        String regex = "(?<=[\\(\\)\\+\\-=\\*])[^\\*^\\-^\\+]+?(?=[\\(\\+\\-=\\)\\*])";
         Pattern pattern = Pattern.compile(regex);
         Matcher matcher = pattern.matcher(query);
         Map<Integer, Integer> map = new LinkedHashMap<>();
@@ -90,17 +88,88 @@ public class PatentStarApiService {
             int len2 = end2 - start2;
             int diff = len2 - len1;
             if (diff > 0) {
-                sb.replace(start1, end1, query.substring(start2, end2));
+                sb.replace(start1, end1,formatValue(query.substring(start2, end2)));
                 sb.replace(start2 + diff, end2 + diff, query.substring(start1, end1));
             } else {
                 sb.replace(start2, end2, query.substring(start1, end1));
-                sb.replace(start1, end1, query.substring(start2, end2));
+                sb.replace(start1, end1, formatValue(query.substring(start2, end2)));
             }
         }
         String reStr = sb.toString();
         reStr = "FXX" + reStr.replace("=", "/");
         return reStr;
     }
+    public void loadStarPatentVOS(List<StarPatentVO> starPatentVOS){
+        starPatentVOS.forEach(item->{
+            if(item.getPublicNo()!=null&&item.getPublicNo()!=""){
+                item.setPatentNo(item.getPublicNo());
+
+            }
+            else if(item.getAnnounceNo()!=null&&item.getAnnounceNo()!=""){
+                item.setPublicNo(item.getAnnounceNo());
+                item.setPatentNo(item.getAnnounceNo());
+            }
+            item.setApplicant(new ArrayList<>());
+            item.setAgent(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&&item.getCurrentApplicantStr()!=""){
+                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);
+                        }
+                );
+            }
+            //代理机构
+            if(item.getAgencyStr()!=null&&item.getAgencyStr()!=""){
+                PatentAgency patentAgency =new PatentAgency();
+                patentAgency.setName(item.getAgencyStr().split(" ")[0]);
+                item.setAgency(patentAgency);
+            }
+            //代理人
+            if(item.getAgentStr()!=null&&item.getAgentStr()!=""){
+                List<String> agent =   Arrays.asList(item.getAgentStr().split(";"));
+                agent.forEach(
+                        tem->{
+                            PatentAgent patentAgent =new PatentAgent();
+                            patentAgent.setName(tem);
+                            item.getAgent().add(patentAgent);
+                        }
+                );
+            }
+            if(item.getLG()!=null){
+             switch (item.getLG()){
+                 case 1:
+                     item.setSimpleStatus("有效");
+                     break;
+                 case 2:
+                     item.setSimpleStatus("失效");
+                     break;
+                 case 3:
+                     item.setSimpleStatus("审中");
+                     break;
+             }
+            }
+            //法律状态
+
+        });
+    }
 
     public Map<String, Object> patentStarSearchApi(PatentStarListDto patentStarListDto) throws IOException {
         String formQuery = patentStarListDto.getCurrentQuery();
@@ -132,45 +201,17 @@ 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);
-                             }
-                     );
-                 }
-
-                });
+                this.loadStarPatentVOS(starPatentVOS);
                 // 打印服务端返回结果
                 //  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",Data.get("List"));
                 reMap.put("total", Data.get("HitCount"));
                 return reMap;
             }