|
@@ -5,7 +5,9 @@ import cn.cslg.pas.common.dto.PatentColumnDTO;
|
|
|
import cn.cslg.pas.common.dto.PatentDTO;
|
|
|
//import cn.cslg.pas.common.dto.business.EsPatentFamilyDTO;
|
|
|
import cn.cslg.pas.common.dto.PatentStarListDTO;
|
|
|
+import cn.cslg.pas.common.dto.business.ClaimDetailDTO;
|
|
|
import cn.cslg.pas.common.dto.business.EsPatentFamilyDTO;
|
|
|
+import cn.cslg.pas.common.dto.business.SelectClaimDTO;
|
|
|
import cn.cslg.pas.common.model.request.MapRequest;
|
|
|
import cn.cslg.pas.common.model.request.OrderDTO;
|
|
|
import cn.cslg.pas.common.model.request.QueryRequest;
|
|
@@ -27,7 +29,10 @@ import co.elastic.clients.elasticsearch.core.search.Hit;
|
|
|
import co.elastic.clients.elasticsearch.core.search.HitsMetadata;
|
|
|
import co.elastic.clients.elasticsearch.core.search.TotalHits;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
@@ -729,6 +734,44 @@ public class EsService {
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询权利要求
|
|
|
+ * @param patentNo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public SelectClaimDTO selectClaim(String patentNo) throws IOException {
|
|
|
+ SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
|
+ //设置查询索引
|
|
|
+ builder.index("patent");
|
|
|
+ //原始数据
|
|
|
+ Query q = QueryBuilders.term(t -> t.field("claim.if_origin").value(true));
|
|
|
+ //申请号
|
|
|
+ Query q1 = QueryBuilders.term(t -> t.field("app_no").value(patentNo));
|
|
|
+ //公开号
|
|
|
+ Query q2 = QueryBuilders.term(t -> t.field("public_no").value(patentNo));
|
|
|
+ //授权号
|
|
|
+ Query q3 = QueryBuilders.term(t -> t.field("grant_no").value(patentNo));
|
|
|
+ Query query = QueryBuilders.bool(i -> i.should(q1, q2, q3));
|
|
|
+ Query bool = QueryBuilders.bool(i -> i.must(q,query));
|
|
|
+ builder.query(bool);
|
|
|
+ SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
|
|
|
+ SelectClaimDTO dto = new SelectClaimDTO();
|
|
|
+ List<Hit<Patent>> hits = response.hits().hits();
|
|
|
+ long total = response.hits().total().value();
|
|
|
+ for (Hit<Patent> hit : hits) {
|
|
|
+ Patent esMess = hit.source();
|
|
|
+ dto.setClaim(JSON.toJSONString(esMess.getClaim()));
|
|
|
+// if (esMess != null) {
|
|
|
+// String claim = StringUtils.strip(JSON.toJSONString(esMess.getClaim()), "[]");
|
|
|
+// ClaimDetailDTO claimDetailDTO = JSONObject.parseObject(claim, ClaimDetailDTO.class);
|
|
|
+// if (claimDetailDTO.getIfOrigin()) {
|
|
|
+// dto.setClaim(claimDetailDTO.getTextContent());
|
|
|
+// }
|
|
|
+// }
|
|
|
+ }
|
|
|
+ return dto;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|