|
@@ -1,18 +1,34 @@
|
|
package com.bizmatics.service.es.impl;
|
|
package com.bizmatics.service.es.impl;
|
|
|
|
|
|
|
|
+import com.bizmatics.model.Device;
|
|
|
|
+import com.bizmatics.model.UserSite;
|
|
import com.bizmatics.model.es.RtAnalog;
|
|
import com.bizmatics.model.es.RtAnalog;
|
|
|
|
+import com.bizmatics.persistence.mapper.DeviceMapper;
|
|
import com.bizmatics.persistence.mapper.es.ElasticRepository;
|
|
import com.bizmatics.persistence.mapper.es.ElasticRepository;
|
|
import com.bizmatics.service.RtAnalogDataService;
|
|
import com.bizmatics.service.RtAnalogDataService;
|
|
import com.bizmatics.service.es.RtAnalogService;
|
|
import com.bizmatics.service.es.RtAnalogService;
|
|
|
|
+import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
|
+import org.elasticsearch.index.query.MatchQueryBuilder;
|
|
|
|
+import org.elasticsearch.index.query.QueryBuilders;
|
|
|
|
+import org.elasticsearch.search.builder.SearchSourceBuilder;
|
|
|
|
+import org.elasticsearch.search.sort.FieldSortBuilder;
|
|
|
|
+import org.elasticsearch.search.sort.SortBuilders;
|
|
|
|
+import org.elasticsearch.search.sort.SortOrder;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
|
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
|
|
|
+import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
|
|
|
+import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.util.Date;
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
|
|
+import static org.elasticsearch.index.query.QueryBuilders.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author yq
|
|
* @author yq
|
|
@@ -25,6 +41,8 @@ public class RtAnalogServiceImpl implements RtAnalogService {
|
|
private ElasticsearchRestTemplate elasticsearchTemplate;
|
|
private ElasticsearchRestTemplate elasticsearchTemplate;
|
|
@Autowired
|
|
@Autowired
|
|
private ElasticRepository elasticRepository;
|
|
private ElasticRepository elasticRepository;
|
|
|
|
+ @Autowired
|
|
|
|
+ private DeviceMapper deviceMapper;
|
|
|
|
|
|
private Pageable pageable = PageRequest.of(0,10);
|
|
private Pageable pageable = PageRequest.of(0,10);
|
|
|
|
|
|
@@ -53,5 +71,31 @@ public class RtAnalogServiceImpl implements RtAnalogService {
|
|
return elasticRepository.findAll().iterator();
|
|
return elasticRepository.findAll().iterator();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<RtAnalog> list(Date startTime,Date endTime,Integer userId) {
|
|
|
|
+ List<Device> list = deviceMapper.list(userId, null, null, null, null, null);
|
|
|
|
+ System.out.println(list.size());
|
|
|
|
+ List<String> deviceCodes = list.stream().map(Device::getDeviceCode).collect(Collectors.toList());
|
|
|
|
+ SearchQuery searchQuery = new NativeSearchQueryBuilder()
|
|
|
|
+ .withQuery(boolQuery()
|
|
|
|
+ .must(termsQuery("deviceName", deviceCodes))
|
|
|
|
+ ).build();
|
|
|
|
+ List<RtAnalog> rtAnalogs = elasticsearchTemplate.queryForList(searchQuery, RtAnalog.class);
|
|
|
|
+ System.out.println(rtAnalogs.size());
|
|
|
|
+ return rtAnalogs;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<RtAnalog> page() {
|
|
|
|
+ //构建查询
|
|
|
|
+ SearchQuery query = new NativeSearchQueryBuilder()
|
|
|
|
+ .withPageable(pageable)
|
|
|
|
+ .build();
|
|
|
|
+ Page<RtAnalog> searchResponse = elasticRepository.search(query);
|
|
|
|
+ System.out.println(searchResponse.getTotalPages());
|
|
|
|
+ return searchResponse.getContent();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|