feat(form): 动态表单新增跳转详情页枚举
parent
54ea5129c5
commit
af17e1f469
@ -0,0 +1,91 @@
|
|||||||
|
package cn.estsh.i3plus.core.apiservice.controller.base;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
|
||||||
|
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
|
||||||
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||||
|
import cn.estsh.i3plus.pojo.model.platform.LogFieldModel;
|
||||||
|
import cn.estsh.i3plus.pojo.model.platform.SysLogModel;
|
||||||
|
import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||||
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.elasticsearch.search.aggregations.AggregationBuilders;
|
||||||
|
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder;
|
||||||
|
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Wynne.Lu
|
||||||
|
* @date 2021/2/20 上午10:49
|
||||||
|
* @desc
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "系统日志查询服务")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/log")
|
||||||
|
public class SysLogController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysLogService sysLogService;
|
||||||
|
|
||||||
|
@Value(value = "${elasticsearch.host:}")
|
||||||
|
private String elasticsearchHost;
|
||||||
|
|
||||||
|
@GetMapping("/log-query")
|
||||||
|
@ApiOperation(value = "按条件分页查询日志", notes = "按条件分页查询日志")
|
||||||
|
public ResultBean queryLogs(SysLogModel sysLogModel, Pager pager) {
|
||||||
|
try {
|
||||||
|
ValidatorBean.beginValid(sysLogModel)
|
||||||
|
.notNull("queryDate", sysLogModel.getQueryDate())
|
||||||
|
.notNull("queryBeginTime", sysLogModel.getQueryBeginTime())
|
||||||
|
.notNull("queryEndTime", sysLogModel.getQueryEndTime())
|
||||||
|
.notNull("level", sysLogModel.getLevel())
|
||||||
|
.notNull("indexName", sysLogModel.getIndexName());
|
||||||
|
|
||||||
|
List<LogFieldModel> list = sysLogService.querySysLog(sysLogModel, pager);
|
||||||
|
sysLogModel.setLogs(list);
|
||||||
|
|
||||||
|
return ResultBean.success(JSON.toJSONString(sysLogModel));
|
||||||
|
} catch (NoSuchFieldException e) {
|
||||||
|
log.error("字段缺省 发生异常:", e);
|
||||||
|
return ResultBean.fail(e.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("搜索日志 发生异常:", e);
|
||||||
|
return ResultBean.fail(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/log-count-query")
|
||||||
|
@ApiOperation(value = "按条件分页查询日志", notes = "按条件分页查询日志")
|
||||||
|
public ResultBean queryLogsCount(SysLogModel sysLogModel, Pager pager) {
|
||||||
|
DateHistogramAggregationBuilder dateHistogramAgg = AggregationBuilders.dateHistogram("groupDate").field("@timestamp")
|
||||||
|
.calendarInterval(DateHistogramInterval.DAY).minDocCount(1);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/indices-query")
|
||||||
|
@ApiOperation(value = "所有索引查询", notes = "所有索引查询")
|
||||||
|
public ResultBean queryIndices(String date) {
|
||||||
|
if (StringUtils.isEmpty(elasticsearchHost)) {
|
||||||
|
return ResultBean.fail("未在配置文件中配置Elasticsearch的地址");
|
||||||
|
}
|
||||||
|
|
||||||
|
ElasticSearchTool.init(elasticsearchHost);
|
||||||
|
|
||||||
|
List<String> indices = ElasticSearchTool.findMappingMetaData().keySet()
|
||||||
|
.stream().filter(d -> d.contains(date)).collect(Collectors.toList());
|
||||||
|
|
||||||
|
return ResultBean.success(JSON.toJSONString(indices));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue