From a71e91133374c6a26d9db881f83789befbaf7f89 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 2 Jun 2022 16:07:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=BA=93=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index b4b4c8da7..2c8776739 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -193,10 +193,34 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { should.add(queryMap); } } + String orderBy = (String)map.get("orderBy"); + String orderByField = (String) map.get("orderByField"); + JSONArray jsonArrySort = new JSONArray(); + JSONObject sort = new JSONObject(); + Map mapSort = new HashMap<>(); + Map mapSortTemp = new HashMap<>(); + if(StringUtils.isNotBlank(orderBy) && StringUtils.isNotBlank(orderByField)){ + //orderBy=1正序,orderBy=1倒序 + if("1".equals(orderBy)){ + mapSort.put("order","asc"); + }else{ + mapSort.put("order","desc"); + } + if("state".equals(orderByField) || "region".equals(orderByField)){ + mapSortTemp.put(orderByField+".keyword",mapSort); + }else{ + mapSortTemp.put(orderByField,mapSort); + } + }else{ + mapSortTemp.put("issue_time","desc"); + } + sort.putAll(mapSortTemp); + jsonArrySort.add(sort); + //封装查询条件 JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(must, null, should); //1. 封装分页和字段值 - JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(sourceList, jsonObject, null, null, + JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(sourceList, jsonObject, null, jsonArrySort, Integer.parseInt(map.get("pageNo").toString())-1, Integer.parseInt(map.get("pageSize").toString())); //2. 数据查询 JSONObject search = jeroElasticsearchTemplate.search(SearchEnum.INDEX_NAME_DOCUMENT.getValue(),