|
@@ -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
|
|
|
*/
|