diff --git a/src/main/java/com/gzzn/omms/adminapi/controller/history/HistoryFlightDataController.java b/src/main/java/com/gzzn/omms/adminapi/controller/history/HistoryFlightDataController.java index 9e85956..d3694cf 100644 --- a/src/main/java/com/gzzn/omms/adminapi/controller/history/HistoryFlightDataController.java +++ b/src/main/java/com/gzzn/omms/adminapi/controller/history/HistoryFlightDataController.java @@ -1,12 +1,18 @@ package com.gzzn.omms.adminapi.controller.history; +import java.util.HashMap; +import java.util.Map; + import io.swagger.annotations.ApiOperation; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.gzzn.omms.adminapi.dto.ResponseDto; @@ -14,6 +20,7 @@ import com.gzzn.omms.adminapi.dto.history.HistoryFilghtConditionDto; import com.gzzn.omms.adminapi.elasticsearch.ElasticsearchUtil; import com.gzzn.omms.adminapi.elasticsearch.EsPage; import com.gzzn.omms.adminapi.utils.DateUtils; +import com.gzzn.omms.adminapi.utils.GzznFileUtils; /** * 历史航班数据 controller * @author fhc @@ -57,4 +64,17 @@ public class HistoryFlightDataController { EsPage page = ElasticsearchUtil.searchDataPage(INDEX_NAME, OPLOG_ES_TYPE, pageIndex, pageSize, boolQuery, null, null, null); return ResponseDto.success(page); } + + @RequestMapping(value="/findTest/{log_type}",method = RequestMethod.GET) + public ResponseDto findTest(@PathVariable String log_type){ + //获取查询条件script + String script = GzznFileUtils.getFileContent("/es/findTest.query"); + //封装参数 分页等参数全都放入此处 + Map params = new HashMap(); + params.put("log_type", log_type); + params.put("from", 1); + params.put("size", 10); + //执行查询 + return ResponseDto.success(ElasticsearchUtil.searchDataPageByScript(INDEX_NAME, params, script,1,10)); + } } diff --git a/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java b/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java index dbb71dd..eaf2a6c 100644 --- a/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java +++ b/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java @@ -82,15 +82,15 @@ public class UISettingsController { List uisettingsList = new ArrayList(); if(!StringUtils.isEmpty(envCode) && !StringUtils.isEmpty(groupCode)){ //包括envCode、groupCode条件 - uisettingsList = uisettingsDao.findByEnvCodeAndGroupCode(envCode,groupCode); + uisettingsList = uisettingsDao.findByEnvCodeAndGroupCodeAndUserid(envCode,groupCode,userService.getCurrentUserId()); }else{ if (!StringUtils.isEmpty(envCode) && StringUtils.isEmpty(groupCode)) { //envCode条件 - uisettingsList = uisettingsDao.findByEnvCode(envCode); + uisettingsList = uisettingsDao.findByEnvCodeAndUserid(envCode,userService.getCurrentUserId()); } if (StringUtils.isEmpty(envCode) && !StringUtils.isEmpty(groupCode)) { //groupCode条件 - uisettingsList = uisettingsDao.findByGroupCode(groupCode); + uisettingsList = uisettingsDao.findByGroupCodeAndUserid(groupCode,userService.getCurrentUserId()); } } diff --git a/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java b/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java index 8a5ed84..3ccf158 100644 --- a/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java +++ b/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java @@ -17,6 +17,15 @@ public interface UisettingsDao extends CrudRepository{ //根据条件goupCode查询 List findByGroupCode(String goupCode); + //根据条件envCode、goupCode、userid查询 + List findByEnvCodeAndGroupCodeAndUserid(String envCode,String goupCode,String userid); + + //根据条件envCode、userid查询 + List findByEnvCodeAndUserid(String envCode,String userid); + + //根据条件goupCode、userid查询 + List findByGroupCodeAndUserid(String goupCode,String userid); + //保存 Uisettings save(Uisettings uisettings); diff --git a/src/main/java/com/gzzn/omms/adminapi/elasticsearch/ElasticsearchUtil.java b/src/main/java/com/gzzn/omms/adminapi/elasticsearch/ElasticsearchUtil.java index b55a218..8614872 100644 --- a/src/main/java/com/gzzn/omms/adminapi/elasticsearch/ElasticsearchUtil.java +++ b/src/main/java/com/gzzn/omms/adminapi/elasticsearch/ElasticsearchUtil.java @@ -22,6 +22,8 @@ import org.elasticsearch.action.update.UpdateRequest; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.text.Text; import org.elasticsearch.index.query.QueryBuilder; +import org.elasticsearch.script.ScriptType; +import org.elasticsearch.script.mustache.SearchTemplateRequestBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.sort.SortOrder; @@ -365,4 +367,25 @@ public class ElasticsearchUtil { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase(); return uuid; } + + public static EsPage searchDataPageByScript(String index,Map params, String script,int startPage,int pageSize) { + + SearchResponse searchResponse = new SearchTemplateRequestBuilder(client) + .setScript(script) + .setScriptType(ScriptType.INLINE) + .setScriptParams(params) + .setRequest(client.prepareSearch(index).request()) + .get() + .getResponse(); + + if (searchResponse.status().getStatus() == 200) { + + long totalHits = searchResponse.getHits().totalHits; + // 解析对象 + List> sourceList = setSearchResponse(searchResponse, null); + + return new EsPage(startPage, pageSize, (int) totalHits, sourceList); + } + return null; + } } diff --git a/src/main/java/com/gzzn/omms/adminapi/utils/GzznFileUtils.java b/src/main/java/com/gzzn/omms/adminapi/utils/GzznFileUtils.java new file mode 100644 index 0000000..8f7d965 --- /dev/null +++ b/src/main/java/com/gzzn/omms/adminapi/utils/GzznFileUtils.java @@ -0,0 +1,59 @@ +package com.gzzn.omms.adminapi.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +/** + * @author fhc + * @Description: 文件工具类 + * @date 2018年12月4日 + */ +public class GzznFileUtils{ + /** + * 读取文件的内容 + * @param filePath + * @return + */ + public static String getFileContent(String filePath){ + String content = null; + InputStream in = null; + InputStreamReader reader = null; + BufferedReader br = null; + try { + Resource resource = new ClassPathResource(filePath); + in = resource.getInputStream(); + reader = new InputStreamReader(in); + br = new BufferedReader(reader); + StringBuilder sb = new StringBuilder(); + String line = null; + while ((line = br.readLine()) != null) { + // 添加字符串 + sb.append(line); + } + content = sb.toString(); + } catch (Exception e) { + e.printStackTrace(); + }finally{ + try { + if(null!=br){ + br.close(); + } + if(null!=reader){ + reader.close(); + } + if(null!=in){ + in.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + return content; + } + +} diff --git a/src/main/resources/es/findTest.query b/src/main/resources/es/findTest.query new file mode 100644 index 0000000..daaf032 --- /dev/null +++ b/src/main/resources/es/findTest.query @@ -0,0 +1,9 @@ +{ + "from" : "{{from}}", + "size" : "{{size}}", + "query": { + "match": { + "log_type": "{{log_type}}" + } + } +} \ No newline at end of file