Ver Fonte

add:商品化专利数量

zero há 1 ano atrás
pai
commit
c7267849bb

+ 5 - 0
src/main/java/cn/cslg/pas/common/dto/PatentDTO.java

@@ -14,5 +14,10 @@ public class PatentDTO {
 
     private Long pageSize;
 
+    //商品化专利数量
+    private Long productNum;
+    //商品化专利相关数量
+    private Long relevantProductNum;
+
     private List<PatentColumnDTO> patents;
 }

+ 0 - 29
src/main/java/cn/cslg/pas/common/dto/SelectProductDTO.java

@@ -1,29 +0,0 @@
-package cn.cslg.pas.common.dto;
-
-import lombok.Data;
-
-import java.util.Date;
-
-@Data
-public class SelectProductDTO {
-
-    private String name;
-
-    private Double licenseRate;
-
-    private Date marketTime;
-
-    private Integer categoryId;
-
-    private Integer showType;
-
-    private String description;
-
-    private String companyName;
-
-    private String createId;
-
-    private String createName;
-
-    private String categoryName;
-}

+ 0 - 14
src/main/java/cn/cslg/pas/common/dto/SelectProductMapDTO.java

@@ -1,14 +0,0 @@
-package cn.cslg.pas.common.dto;
-
-import lombok.Data;
-
-import java.util.List;
-import java.util.Map;
-
-@Data
-public class SelectProductMapDTO {
-
-    private Map<String,List<SelectProductDTO>> productMap;
-
-    private Long total;
-}

+ 0 - 12
src/main/java/cn/cslg/pas/service/business/es/EsPatentService.java

@@ -3,14 +3,11 @@ package cn.cslg.pas.service.business.es;
 import cn.cslg.pas.common.core.base.IfConstant;
 import cn.cslg.pas.common.dto.*;
 import cn.cslg.pas.common.dto.business.ContentDetailDTO;
-import cn.cslg.pas.common.model.cronModel.Personnel;
-import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.MapRequest;
 import cn.cslg.pas.common.model.request.OrderDTO;
 import cn.cslg.pas.common.model.request.QueryRequest;
 import cn.cslg.pas.common.model.request.StringRequest;
-import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.FormatUtil;
 import cn.cslg.pas.common.utils.parseQueryToTree.expressManager;
 import cn.cslg.pas.common.utils.parseQueryToTree.operateNode;
@@ -18,13 +15,10 @@ import cn.cslg.pas.common.utils.parseQueryToTree.treeNode;
 import cn.cslg.pas.common.vo.ContentVO;
 import cn.cslg.pas.common.vo.EsConfigVO;
 import cn.cslg.pas.common.vo.PatentPageMessageVO;
-import cn.cslg.pas.common.vo.PatentWithIdVO;
 import cn.cslg.pas.common.vo.business.PatentKinDetailVO;
 import cn.cslg.pas.common.vo.business.PatentKinVO;
 import cn.cslg.pas.common.vo.business.PatentNoVO;
 import cn.cslg.pas.common.vo.business.SelectProductVO;
-import cn.cslg.pas.domain.business.Product;
-import cn.cslg.pas.domain.business.ProductCategory;
 import cn.cslg.pas.domain.es.*;
 import cn.cslg.pas.mapper.ProductCategoryMapper;
 import cn.cslg.pas.mapper.ProductMapper;
@@ -41,10 +35,6 @@ import co.elastic.clients.elasticsearch.core.DeleteResponse;
 import co.elastic.clients.elasticsearch.core.SearchRequest;
 import co.elastic.clients.elasticsearch.core.SearchResponse;
 import co.elastic.clients.elasticsearch.core.search.Hit;
-import co.elastic.clients.elasticsearch.core.search.SourceConfig;
-import co.elastic.clients.elasticsearch.core.search.SourceConfigBuilders;
-import co.elastic.clients.elasticsearch.transform.Source;
-import com.alibaba.druid.sql.visitor.functions.If;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
@@ -611,7 +601,5 @@ public class EsPatentService {
         DeleteResponse deleteResponse = client.delete(deleteRequest ->
                 deleteRequest.index("patent").id(id)
         );
-
-
     }
 }

+ 47 - 0
src/main/java/cn/cslg/pas/service/business/es/EsProductPatentService.java

@@ -37,6 +37,12 @@ public class EsProductPatentService {
     @Autowired
     private EsService esService;
 
+    /**
+     * 添加商品化专利
+     * @param vo
+     * @return
+     * @throws Exception
+     */
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
     public List<Integer> addProductPatent(EsProductPatentVO vo) throws Exception {
         List<Integer> ids = new ArrayList<>();
@@ -59,6 +65,12 @@ public class EsProductPatentService {
         return ids;
     }
 
+    /**
+     * 删除商品化专利
+     * @param vo
+     * @return
+     * @throws Exception
+     */
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
     public List<Integer> delProductPatent(EsProductPatentVO vo) throws Exception {
         List<Integer> productIds = vo.getProductIds();
@@ -104,4 +116,39 @@ public class EsProductPatentService {
             throw new XiaoShiException("删除失败");
         }
     }
+
+
+    /**
+     * 查询商品化专利数量
+     * @param productId
+     * @return
+     * @throws Exception
+     */
+    public Long selectProductNum(Integer productId) throws Exception {
+        SearchRequest.Builder builder = new SearchRequest.Builder();
+        //设置查询索引
+        builder.index("patent");
+        Query q1 = QueryBuilders.term(t -> t.field("product_id").value(productId));
+        builder.query(q1);
+        SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
+        return response.hits().total().value();
+    }
+
+    /**
+     * 查询商品化专利架构相关数量
+     * @param productId
+     * @return
+     * @throws Exception
+     */
+    public Long selectRelevantProductNum(Integer productId) throws Exception {
+        SearchRequest.Builder builder = new SearchRequest.Builder();
+        //设置查询索引
+        builder.index("patent");
+        Query q1 = QueryBuilders.term(t -> t.field("custom_field.field").value(productId));
+        Query q2 = QueryBuilders.term(t -> t.field("custom_field.field_type").value("9"));
+        Query bool = QueryBuilders.bool(i -> i.must(q1,q2));
+        builder.query(bool);
+        SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
+        return response.hits().total().value();
+    }
 }

+ 6 - 0
src/main/java/cn/cslg/pas/service/business/es/EsService.java

@@ -61,6 +61,8 @@ public class EsService {
     private PatentStarApiService patentStarApiService;
     @Autowired
     private EsPatentService esPatentService;
+    @Autowired
+    private EsProductPatentService esProductPatentService;
 
 
     /**
@@ -178,6 +180,10 @@ public class EsService {
                     } else {
                         searchCondition = "productId = " + productId;
                     }
+                    Long productNum = esProductPatentService.selectProductNum(productId);
+                    dto.setProductNum(productNum);
+                    Long relevantProductNum = esProductPatentService.selectRelevantProductNum(productId);
+                    dto.setRelevantProductNum(relevantProductNum);
                 }
             } else {
                 if (projectId != null) {