|
@ -1,5 +1,7 @@
|
|
|
package com.yihu.quota.service.view;
|
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.ehr.elasticsearch.ElasticSearchPool;
|
|
|
import com.yihu.ehr.query.BaseJpaService;
|
|
|
import com.yihu.quota.dao.view.ViewDao;
|
|
@ -11,15 +13,20 @@ import com.yihu.quota.model.view.View;
|
|
|
import com.yihu.quota.model.view.ViewDimension;
|
|
|
import com.yihu.quota.model.view.ViewQuota;
|
|
|
import com.yihu.quota.model.view.ViewQuotaFilter;
|
|
|
import com.yihu.quota.vo.ViewQuotaFilterModel;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.log4j.Logger;
|
|
|
import org.elasticsearch.action.search.SearchRequestBuilder;
|
|
|
import org.elasticsearch.client.transport.TransportClient;
|
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilders;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
/**
|
|
@ -41,6 +48,8 @@ public class ViewService extends BaseJpaService<View, ViewDao> {
|
|
|
private ViewQuotaFilterDao viewQuotaFilterDao;
|
|
|
@Autowired
|
|
|
private ElasticSearchPool elasticSearchPool;
|
|
|
@Autowired
|
|
|
private ObjectMapper objectMapper;
|
|
|
|
|
|
public View findOne(Integer id) {
|
|
|
return viewDao.findOne(id);
|
|
@ -70,7 +79,7 @@ public class ViewService extends BaseJpaService<View, ViewDao> {
|
|
|
* @param viewCode
|
|
|
* @param filters
|
|
|
*/
|
|
|
public void statViewResult(String viewCode, String filters) {
|
|
|
public void statViewResult(String viewCode, String filters) throws IOException {
|
|
|
// 获取视图规则
|
|
|
View view = viewDao.findByCode(viewCode);
|
|
|
String[] esIndices = view.getEsIndex().split(",");
|
|
@ -80,9 +89,17 @@ public class ViewService extends BaseJpaService<View, ViewDao> {
|
|
|
TransportClient transportClient = elasticSearchPool.getClient();
|
|
|
SearchRequestBuilder searchRequest = transportClient.prepareSearch(esIndices).setTypes(esTypes).setSize(0);
|
|
|
|
|
|
QueryBuilder queryBuilder = null;
|
|
|
if (StringUtils.isNotEmpty(filters) || view.getViewFilterList().size() != 0) {
|
|
|
|
|
|
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
|
|
|
if (StringUtils.isNotEmpty(filters)) {
|
|
|
List<ViewQuotaFilterModel> filterModelList = objectMapper.readValue(filters, new TypeReference<List<ViewQuotaFilterModel>>() {
|
|
|
});
|
|
|
for (ViewQuotaFilterModel filterModel : filterModelList) {
|
|
|
if ("and".equals(filterModel.getRelationType())) {
|
|
|
if ("".equals(filterModel.getCompareType())) {
|
|
|
// queryBuilder.must(QueryBuilders);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|