package com.xzx.log.controller;
|
|
|
import cn.hutool.core.util.StrUtil;
|
import com.xzx.log.dto.IntefaceAdminLogDto;
|
import com.xzx.log.dto.base.PageDTO;
|
import com.xzx.log.dto.base.Result;
|
import com.xzx.log.entity.IntefaceAdminLog;
|
import com.xzx.log.mapper.IntefaceAdminLogMapper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
import org.elasticsearch.index.query.QueryBuilders;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.Sort;
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
import org.springframework.web.bind.annotation.*;
|
|
|
@Api(tags = "接口日志管理")
|
@RestController
|
@RequestMapping("/intefaceAdminLog")
|
@Slf4j
|
public class IntefaceAdminLogController {
|
|
@Autowired
|
private IntefaceAdminLogMapper intefaceAdminLogMapper;
|
|
|
@ApiOperation( value = "接口日志查询")
|
@PostMapping("/find")
|
public Result<PageDTO<IntefaceAdminLog>> find(@RequestBody IntefaceAdminLogDto intefaceAdminLogDto) {
|
String startTime = intefaceAdminLogDto.getStartTime();
|
String endTime = intefaceAdminLogDto.getEndTime();
|
String userId = intefaceAdminLogDto.getUserId();
|
int pageNo=intefaceAdminLogDto.getPageNo()-1;
|
PageRequest pageable = PageRequest.of(pageNo, intefaceAdminLogDto.getPageSize(), Sort.by("createTime").descending());
|
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
|
if(StrUtil.isNotBlank(userId)){
|
boolQueryBuilder.must(QueryBuilders.matchQuery("userId", userId));
|
}
|
|
if(StrUtil.isNotBlank(startTime)){
|
boolQueryBuilder.must(QueryBuilders.rangeQuery("createTime").gte(startTime +" 00:00:00"));
|
}
|
|
if(StrUtil.isNotBlank(endTime)){
|
boolQueryBuilder.must(QueryBuilders.rangeQuery("createTime").lte(endTime+" 00:00:00"));
|
}
|
|
SearchQuery searchQuery = new NativeSearchQueryBuilder()
|
.withPageable(pageable)
|
.withQuery(boolQueryBuilder)
|
.build();
|
|
Page<IntefaceAdminLog> pageInfo = intefaceAdminLogMapper.search(searchQuery);
|
|
PageDTO<IntefaceAdminLog> pageDTO=new PageDTO<>();
|
pageDTO.setPages(pageInfo.getTotalPages());
|
pageDTO.setTotal(pageInfo.getTotalElements());
|
pageDTO.setList(pageInfo.getContent());
|
return Result.success(pageDTO);
|
|
}
|
}
|