Commit 79604cc7 by 赵剑炜

优化代码

parent e0a5970c
...@@ -343,7 +343,7 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E ...@@ -343,7 +343,7 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
List<EquipmentType> searchResults = es.searchEntities("type_pinyin",req.getNickName(),"name",0, 50,req.getType(), req.getTypeName(), req.getSearchType(), EquipmentType.class); List<EquipmentType> searchResults = es.searchEntities("type_pinyin",req.getNickName(),"name",0, 50,req.getType(), req.getTypeName(), req.getSearchType(), EquipmentType.class);
LambdaQueryWrapper<EquipmentType> wp = this.createWrapper(req); LambdaQueryWrapper<EquipmentType> wp = this.createWrapper(req);
// 获取所有组织机构数据 // 获取所有组织机构数据
List<EquipmentType> allTypes= es.searchAll("type_pinyin",0, 3000,null, EquipmentType.class); List<EquipmentType> allTypes= es.searchAll("type_pinyin",0, 3000, EquipmentType.class);
// List<EquipmentType> allTypes = this.list(wp); // List<EquipmentType> allTypes = this.list(wp);
List<EquipmentTypeDto> treeResult= buildTypeTree(searchResults,allTypes); List<EquipmentTypeDto> treeResult= buildTypeTree(searchResults,allTypes);
ESTypeDto resultDto=new ESTypeDto(); ESTypeDto resultDto=new ESTypeDto();
......
...@@ -13,10 +13,9 @@ import org.elasticsearch.search.SearchHit; ...@@ -13,10 +13,9 @@ import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.builder.SearchSourceBuilder;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
public class ElasticsearchUtil<T> { public class ElasticsearchUtil<T> {
private final RestHighLevelClient client; private final RestHighLevelClient client;
...@@ -27,16 +26,16 @@ public class ElasticsearchUtil<T> { ...@@ -27,16 +26,16 @@ public class ElasticsearchUtil<T> {
this.client = client; this.client = client;
} }
public List<T> searchAll(String typeName, Integer pageNum, Integer pageSize,Integer type, Class<T> entityClass) throws IOException { public List<T> searchAll(String typeName, int pageNum, int pageSize, Class<T> entityClass) throws IOException {
if (pageNum < 0) pageNum = 0; if (pageNum < 0) pageNum = 0;
SearchRequest request = new SearchRequest(typeName); SearchRequest request = new SearchRequest(typeName);
SearchSourceBuilder builder = new SearchSourceBuilder(); SearchSourceBuilder builder = new SearchSourceBuilder();
builder.from(pageNum); builder.from(pageNum * pageSize);
builder.size(pageSize); builder.size(pageSize);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.mustNot(QueryBuilders.matchQuery("name", "超级根")); boolQueryBuilder.mustNot(QueryBuilders.matchQuery("name", "超级根"));
builder.query(boolQueryBuilder); builder.query(boolQueryBuilder);
builder.timeout(new TimeValue(60, TimeUnit.SECONDS)); builder.timeout(new TimeValue(60, TimeUnit.SECONDS));
...@@ -44,15 +43,19 @@ public class ElasticsearchUtil<T> { ...@@ -44,15 +43,19 @@ public class ElasticsearchUtil<T> {
request.source(builder); request.source(builder);
SearchResponse searchResponse = client.search(request, RequestOptions.DEFAULT); SearchResponse searchResponse = client.search(request, RequestOptions.DEFAULT);
List<T> entityList = new ArrayList<>(); ObjectMapper objectMapper = new ObjectMapper();
for (SearchHit documentFields : searchResponse.getHits().getHits()) { return Arrays.stream(searchResponse.getHits().getHits())
Map<String, Object> sourceAsMap = documentFields.getSourceAsMap(); .map(SearchHit::getSourceAsString)
T entity = fromMap(sourceAsMap, entityClass); .map(sourceAsString -> {
try {
entityList.add(entity); return objectMapper.readValue(sourceAsString, entityClass);
} } catch (IOException e) {
// 处理异常
return entityList; return null;
}
})
.filter(Objects::nonNull)
.collect(Collectors.toList());
} }
public List<T> searchEntities(String typeName,String nickName, String index, Integer pageNum, Integer pageSize,Integer type, String keyword,String searchType, Class<T> entityClass) throws IOException { public List<T> searchEntities(String typeName,String nickName, String index, Integer pageNum, Integer pageSize,Integer type, String keyword,String searchType, Class<T> entityClass) throws IOException {
......
...@@ -36,9 +36,9 @@ knife4j: ...@@ -36,9 +36,9 @@ knife4j:
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.3.128:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true url: jdbc:mysql://192.168.3.121:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: junmp username: root
password: 123456 password: junmp123
redis: redis:
#host: 192.168.3.188 #host: 192.168.3.188
......
...@@ -32,9 +32,9 @@ knife4j: ...@@ -32,9 +32,9 @@ knife4j:
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.3.128:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true url: jdbc:mysql://192.168.3.121:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: junmp username: root
password: 123456 password: junmp123
redis: redis:
#host: 192.168.3.188 #host: 192.168.3.188
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论