添加日志全量导出接口

This commit is contained in:
wanxiaoli 2026-08-04 17:08:23 +08:00
parent 41bff423f3
commit 69f8b6a0e9
3 changed files with 36 additions and 1 deletions

View File

@ -56,7 +56,7 @@ public class SysLogController {
/**********************************
* 用途说明: 导出日志数据
* 参数说明 sysLogs 所需导出的字典项集合
* 参数说明 sysLogs 所需导出的日志集合
* 返回值说明: com.yfd.platform.config.ResponseResult 返回导出成功或者失败
***********************************/
@Log(module = "系统日志", value = "导出系统日志到Excel")
@ -71,4 +71,15 @@ public class SysLogController {
startDate, endDate, page);
sysLogService.exportExcel(sysLogPage.getRecords(), response);
}
@Log(module = "系统日志", value = "导出系统日志到Excel全量")
@GetMapping("/exportExcelAll")
@Operation(summary = "导出日志数据(全量)")
public void exportExcelAll(String username, String optType,
String startDate, String endDate,
HttpServletResponse response) throws IOException {
List<SysLog> sysLogs =
sysLogService.listLogs(username, optType, startDate, endDate);
sysLogService.exportExcel(sysLogs, response);
}
}

View File

@ -30,6 +30,9 @@ public interface ISysLogService extends IService<SysLog> {
String startDate,
String endDate, Page<SysLog> page);
List<SysLog> listLogs(String username, String optType, String startDate,
String endDate);
/**********************************
* 用途说明: 导出日志数据

View File

@ -77,6 +77,27 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
return sysLogMapper.selectPage(page, queryWrapper);
}
@Override
public List<SysLog> listLogs(String username, String optType,
String startDate, String endDate) {
LambdaQueryWrapper<SysLog> queryWrapper = new LambdaQueryWrapper<>();
if (StrUtil.isNotBlank(username)) {
queryWrapper.like(SysLog::getUsername, username);
}
if (StrUtil.isNotBlank(optType)) {
queryWrapper.eq(SysLog::getOpttype, optType);
}
DateTime parseStartDate = DateUtil.parse(startDate);
DateTime parseEndDate = DateUtil.parse(endDate);
DateTime dateTime = DateUtil.offsetDay(parseEndDate, 1);
if (parseStartDate != null && parseEndDate != null) {
queryWrapper.ge(SysLog::getLogtime, parseStartDate)
.lt(SysLog::getLogtime, dateTime);
}
queryWrapper.orderByDesc(SysLog::getLogtime);
return this.list(queryWrapper);
}
/**********************************
* 用途说明: 导出日志数据
* 参数说明 sysLogs 所需导出的字典项集合