Ver código fonte

Merge remote-tracking branch 'origin/master'

wrh 2 anos atrás
pai
commit
62ca88dae0

+ 37 - 7
nngkxxdp/src/main/java/com/example/nngkxxdp/elk/ElkController.java

@@ -14,6 +14,7 @@ import org.elasticsearch.action.get.GetResponse;
 import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchRequestBuilder;
 import org.elasticsearch.client.RestClient;
+import org.elasticsearch.index.query.RangeQueryBuilder;
 import org.elasticsearch.search.aggregations.bucket.terms.Terms;
 import org.elasticsearch.search.aggregations.bucket.terms.Terms.Bucket;
 import org.elasticsearch.action.search.SearchResponse;
@@ -79,6 +80,14 @@ public class ElkController {
      * 部门字段
      */
     private String deptName = "departmentname.keyword";
+    /**
+     * 发布时间
+     */
+    private String yearName = "publishtime";
+    /**
+     * 政策主题
+     */
+    private String subjectName = "e_type";
     private String pubOrg = "puborg.keyword";
     /**
      * 文件类型
@@ -111,7 +120,7 @@ public class ElkController {
      * @throws IOException
      */
     @GetMapping("search")
-    public Map<String, Object> search(Integer page, Integer limit, String content, String dept) throws IOException {
+    public Map<String, Object> search(Integer page, Integer limit, String content, String dept, Integer year, String subject) throws IOException {
         if (!Blank.notBlank(page) || !Blank.notBlank(limit)) {
             return SendUtil.send(false, ConstStr.REQUEST_WRONGPARAMS);
         }
@@ -148,7 +157,26 @@ public class ElkController {
             should.add(QueryBuilders.matchQuery(deptName, dept));
             list.add(boolQueryBuilder2);
         }
-        if (Blank.notBlank(content) || Blank.notBlank(dept)) {
+        if (Blank.notBlank(year)) {
+            Calendar calendar = Calendar.getInstance();
+            int currentYear = calendar.get(Calendar.YEAR);
+            if (year == 0) {
+                RangeQueryBuilder boolQueryBuilder2 = QueryBuilders.rangeQuery(yearName);
+                boolQueryBuilder2.lte((currentYear - 2) + "-01-01");
+                list.add(boolQueryBuilder2);
+            } else {
+                RangeQueryBuilder boolQueryBuilder2 = QueryBuilders.rangeQuery(yearName);
+                boolQueryBuilder2.from(year + "-01-01").to((year + 1) + "-01-01");
+                list.add(boolQueryBuilder2);
+            }
+        }
+        if (Blank.notBlank(subject)) {
+            BoolQueryBuilder boolQueryBuilder2 = new BoolQueryBuilder();
+            List<QueryBuilder> should = boolQueryBuilder2.should();
+            should.add(QueryBuilders.matchQuery(subjectName, subject));
+            list.add(boolQueryBuilder2);
+        }
+        if (Blank.notBlank(content) || Blank.notBlank(dept) || Blank.notBlank(year) || Blank.notBlank(subject)) {
             searchSourceBuilder.query(boolQueryBuilder);
         }
         if (Blank.notBlank(content)) {
@@ -620,11 +648,12 @@ public class ElkController {
 
     /**
      * 分页查询问题反馈
-     * @param page 页码
-     * @param limit 每页条数
-     * @param phone 电话
+     *
+     * @param page     页码
+     * @param limit    每页条数
+     * @param phone    电话
      * @param deptName 部门
-     * @param remark 问题
+     * @param remark   问题
      * @return
      */
     @GetMapping("/getQuestionRemarkPage")
@@ -642,7 +671,8 @@ public class ElkController {
 
     /**
      * 更新问题反馈
-     * @param id 主键id
+     *
+     * @param id      主键id
      * @param isReply 回复状态值
      * @return
      */