|
@@ -1,10 +1,7 @@
|
|
package cn.cslg.pas.service.business.es;
|
|
package cn.cslg.pas.service.business.es;
|
|
|
|
|
|
import cn.cslg.pas.common.core.base.IfConstant;
|
|
import cn.cslg.pas.common.core.base.IfConstant;
|
|
-import cn.cslg.pas.common.dto.PatentColumnDTO;
|
|
|
|
-import cn.cslg.pas.common.dto.PatentDTO;
|
|
|
|
-import cn.cslg.pas.common.dto.PatentDetailDTO;
|
|
|
|
-import cn.cslg.pas.common.dto.PatentKinDTO;
|
|
|
|
|
|
+import cn.cslg.pas.common.dto.*;
|
|
import cn.cslg.pas.common.dto.business.ContentDetailDTO;
|
|
import cn.cslg.pas.common.dto.business.ContentDetailDTO;
|
|
import cn.cslg.pas.common.model.cronModel.Records;
|
|
import cn.cslg.pas.common.model.cronModel.Records;
|
|
import cn.cslg.pas.common.model.request.MapRequest;
|
|
import cn.cslg.pas.common.model.request.MapRequest;
|
|
@@ -35,6 +32,7 @@ import co.elastic.clients.elasticsearch.core.search.Hit;
|
|
import co.elastic.clients.elasticsearch.core.search.SourceConfig;
|
|
import co.elastic.clients.elasticsearch.core.search.SourceConfig;
|
|
import co.elastic.clients.elasticsearch.core.search.SourceConfigBuilders;
|
|
import co.elastic.clients.elasticsearch.core.search.SourceConfigBuilders;
|
|
import co.elastic.clients.elasticsearch.transform.Source;
|
|
import co.elastic.clients.elasticsearch.transform.Source;
|
|
|
|
+import com.alibaba.druid.sql.visitor.functions.If;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -101,16 +99,28 @@ public class EsPatentService {
|
|
SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
//设置查询索引
|
|
//设置查询索引
|
|
builder.index("legal_event");
|
|
builder.index("legal_event");
|
|
- Query q1 = QueryBuilders.term(i -> i.field("app_no").value(appNo));
|
|
|
|
- Query q2 = QueryBuilders.term(i -> i.field("public_no").value(publicNo));
|
|
|
|
-// Query q3 = QueryBuilders.term(i -> i.field("grant_no").value(grantNo));
|
|
|
|
- Query query = QueryBuilders.bool(i -> i.must(q1, q2));
|
|
|
|
- builder.query(query);
|
|
|
|
- SearchResponse<LegalEvent> response = client.search(builder.build(), LegalEvent.class);
|
|
|
|
- List<Hit<LegalEvent>> hits = response.hits().hits();
|
|
|
|
- for (Hit<LegalEvent> hit : hits) {
|
|
|
|
- LegalEvent event = hit.source();
|
|
|
|
- events.add(event);
|
|
|
|
|
|
+ List<Query> queries = new ArrayList<>();
|
|
|
|
+ if (StringUtils.isNotEmpty(appNo)) {
|
|
|
|
+ Query q1 = QueryBuilders.term(i -> i.field("app_no").value(appNo));
|
|
|
|
+ queries.add(q1);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotEmpty(publicNo)) {
|
|
|
|
+ Query q2 = QueryBuilders.term(i -> i.field("public_no").value(publicNo));
|
|
|
|
+ queries.add(q2);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotEmpty(grantNo)) {
|
|
|
|
+ Query q3 = QueryBuilders.term(i -> i.field("grant_no").value(grantNo));
|
|
|
|
+ queries.add(q3);
|
|
|
|
+ }
|
|
|
|
+ if (!CollectionUtils.isEmpty(queries)) {
|
|
|
|
+ Query query = QueryBuilders.bool(i -> i.must(queries));
|
|
|
|
+ builder.query(query);
|
|
|
|
+ SearchResponse<LegalEvent> response = client.search(builder.build(), LegalEvent.class);
|
|
|
|
+ List<Hit<LegalEvent>> hits = response.hits().hits();
|
|
|
|
+ for (Hit<LegalEvent> hit : hits) {
|
|
|
|
+ LegalEvent event = hit.source();
|
|
|
|
+ events.add(event);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return events;
|
|
return events;
|
|
}
|
|
}
|
|
@@ -134,6 +144,33 @@ public class EsPatentService {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 获得中国专利pdf全文
|
|
|
|
+ *
|
|
|
|
+ * @param appNo
|
|
|
|
+ * @return
|
|
|
|
+ * @throws IOException
|
|
|
|
+ */
|
|
|
|
+ public List<InnerPatentPdfDTO> getTextPdf(String appNo) throws IOException {
|
|
|
|
+ List<InnerPatentPdfDTO> list = new ArrayList<>();
|
|
|
|
+ //公开说明书pdf
|
|
|
|
+ String pdfFormat = FormatUtil.getPDFFormat(appNo, 0);
|
|
|
|
+ if (StringUtils.isNotEmpty(pdfFormat)) {
|
|
|
|
+ InnerPatentPdfDTO dto = new InnerPatentPdfDTO();
|
|
|
|
+ dto.setPdfGuid(pdfFormat);
|
|
|
|
+ dto.setType(0);
|
|
|
|
+ list.add(dto);
|
|
|
|
+ }
|
|
|
|
+ //授权说明书pdf
|
|
|
|
+ String pdfFormat1 = FormatUtil.getPDFFormat(appNo, 1);
|
|
|
|
+ if (StringUtils.isNotEmpty(pdfFormat1)) {
|
|
|
|
+ InnerPatentPdfDTO dto1 = new InnerPatentPdfDTO();
|
|
|
|
+ dto1.setPdfGuid(pdfFormat1);
|
|
|
|
+ dto1.setType(1);
|
|
|
|
+ list.add(dto1);
|
|
|
|
+ }
|
|
|
|
+ return list;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
* 根据专利号查询出同族专利列表
|
|
* 根据专利号查询出同族专利列表
|
|
*
|
|
*
|
|
* @param vo
|
|
* @param vo
|