@ApiOperation(value = "清除详细日志接口", notes = "清除详细日志接口")
@PostMapping("/clearDetailLog")
public void clearDetailLog(@ApiParam(name = "清除详细日志接口输入参数实体", value = "清除详细日志接口输入参数实体",
required = false) @RequestBody HandleDetailLogVO handleDetailLogVO) throws IOException, ParseException {
SimpleDateFormat sd = new SimpleDateFormat(DateFormatEnum.YYYY_MM_DD_HH_MM_SS.getFormat());
String beginTime = handleDetailLogVO.getBeginTime() + DateFormatEnum.BEGIN_HH_MM_SS.getFormat();
String endTime = handleDetailLogVO.getEndTime() + DateFormatEnum.END_HH_MM_SS.getFormat();
// 根据时间查询
NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
BoolQueryBuilder bool = QueryBuilders.boolQuery();
List<QueryBuilder> filters = bool.filter();
filters.add(QueryBuilders.rangeQuery("time").gte(sd.parse(beginTime)) .lte(sd.parse(endTime)));
builder.withQuery(bool);
NativeSearchQuery query = builder.build();
IndexCoordinates indexCoordinates = IndexCoordinates.of("datalog-*");
// 删除索引
elasticsearchTemplate.delete(query, DetailLogVO.class, indexCoordinates);
}
实体
public class HandleDetailLogVO {
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间", name = "结束时间")
private String endTime;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间", name = "开始时间")
private String beginTime;
}