mirror of https://gitee.com/stylefeng/roses
【7.0.1】更新操作日志查询的问题
parent
2ca8013a67
commit
65eed55f5e
|
@ -25,13 +25,13 @@ public class LogManagerRequest extends BaseRequest {
|
||||||
* 查询的起始时间
|
* 查询的起始时间
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "起始时间不能为空", groups = {delete.class})
|
@NotBlank(message = "起始时间不能为空", groups = {delete.class})
|
||||||
private String beginDateTime;
|
private String beginDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询日志的结束时间
|
* 查询日志的结束时间
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "结束时间不能为空", groups = {delete.class})
|
@NotBlank(message = "结束时间不能为空", groups = {delete.class})
|
||||||
private String endDateTime;
|
private String endDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日志的名称,一般为业务名称
|
* 日志的名称,一般为业务名称
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class LogManagerController {
|
||||||
*/
|
*/
|
||||||
@PostResource(name = "删除日志", path = "/logManager/delete")
|
@PostResource(name = "删除日志", path = "/logManager/delete")
|
||||||
public ResponseData delete(@RequestBody @Validated(LogManagerRequest.delete.class) LogManagerRequest logManagerRequest) {
|
public ResponseData delete(@RequestBody @Validated(LogManagerRequest.delete.class) LogManagerRequest logManagerRequest) {
|
||||||
logManagerApi.del(logManagerRequest);
|
sysLogService.delAll(logManagerRequest);
|
||||||
return new SuccessResponseData();
|
return new SuccessResponseData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,18 +7,19 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.log.api.exception.LogException;
|
import cn.stylefeng.roses.kernel.log.api.exception.LogException;
|
||||||
|
import cn.stylefeng.roses.kernel.log.api.exception.enums.LogExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.log.api.pojo.manage.LogManagerRequest;
|
import cn.stylefeng.roses.kernel.log.api.pojo.manage.LogManagerRequest;
|
||||||
import cn.stylefeng.roses.kernel.log.db.entity.SysLog;
|
import cn.stylefeng.roses.kernel.log.db.entity.SysLog;
|
||||||
import cn.stylefeng.roses.kernel.log.db.mapper.SysLogMapper;
|
import cn.stylefeng.roses.kernel.log.db.mapper.SysLogMapper;
|
||||||
import cn.stylefeng.roses.kernel.log.db.service.SysLogService;
|
import cn.stylefeng.roses.kernel.log.db.service.SysLogService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.stylefeng.roses.kernel.log.api.exception.enums.LogExceptionEnum.LOG_NOT_EXISTED;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日志记录 service接口实现类
|
* 日志记录 service接口实现类
|
||||||
|
@ -45,7 +46,12 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void delAll(LogManagerRequest logManagerRequest) {
|
public void delAll(LogManagerRequest logManagerRequest) {
|
||||||
this.remove(null);
|
LambdaUpdateWrapper<SysLog> queryWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
|
||||||
|
queryWrapper.between(SysLog::getCreateTime, logManagerRequest.getBeginDate() + " 00:00:00", logManagerRequest.getEndDate() + " 23:59:59");
|
||||||
|
queryWrapper.eq(SysLog::getAppName, logManagerRequest.getAppName());
|
||||||
|
|
||||||
|
this.remove(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -76,7 +82,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||||
private SysLog querySysLogById(LogManagerRequest logManagerRequest) {
|
private SysLog querySysLogById(LogManagerRequest logManagerRequest) {
|
||||||
SysLog sysLog = this.getById(logManagerRequest.getLogId());
|
SysLog sysLog = this.getById(logManagerRequest.getLogId());
|
||||||
if (sysLog == null) {
|
if (sysLog == null) {
|
||||||
throw new LogException(LOG_NOT_EXISTED, logManagerRequest.getLogId());
|
throw new LogException(LogExceptionEnum.LOG_NOT_EXISTED, logManagerRequest.getLogId());
|
||||||
}
|
}
|
||||||
return sysLog;
|
return sysLog;
|
||||||
}
|
}
|
||||||
|
@ -97,8 +103,8 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
String beginDateTime = logManagerRequest.getBeginDateTime();
|
String beginDateTime = logManagerRequest.getBeginDate();
|
||||||
String endDateTime = logManagerRequest.getEndDateTime();
|
String endDateTime = logManagerRequest.getEndDate();
|
||||||
|
|
||||||
// SQL条件拼接
|
// SQL条件拼接
|
||||||
String name = logManagerRequest.getLogName();
|
String name = logManagerRequest.getLogName();
|
||||||
|
@ -108,10 +114,10 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||||
String clientIp = logManagerRequest.getClientIp();
|
String clientIp = logManagerRequest.getClientIp();
|
||||||
String url = logManagerRequest.getRequestUrl();
|
String url = logManagerRequest.getRequestUrl();
|
||||||
|
|
||||||
queryWrapper.between(!StrUtil.isAllBlank(beginDateTime, endDateTime), SysLog::getCreateTime, beginDateTime, endDateTime);
|
queryWrapper.between(StrUtil.isAllNotBlank(beginDateTime, endDateTime), SysLog::getCreateTime, beginDateTime + " 00:00:00", endDateTime + " 23:59:59");
|
||||||
queryWrapper.eq(StrUtil.isNotEmpty(name), SysLog::getLogName, name);
|
queryWrapper.like(StrUtil.isNotEmpty(name), SysLog::getLogName, name);
|
||||||
queryWrapper.eq(StrUtil.isNotEmpty(appName), SysLog::getAppName, appName);
|
queryWrapper.like(StrUtil.isNotEmpty(appName), SysLog::getAppName, appName);
|
||||||
queryWrapper.eq(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);
|
queryWrapper.like(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(userId), SysLog::getUserId, userId);
|
queryWrapper.eq(ObjectUtil.isNotNull(userId), SysLog::getUserId, userId);
|
||||||
queryWrapper.eq(StrUtil.isNotEmpty(clientIp), SysLog::getClientIp, clientIp);
|
queryWrapper.eq(StrUtil.isNotEmpty(clientIp), SysLog::getClientIp, clientIp);
|
||||||
queryWrapper.eq(StrUtil.isNotEmpty(url), SysLog::getRequestUrl, url);
|
queryWrapper.eq(StrUtil.isNotEmpty(url), SysLog::getRequestUrl, url);
|
||||||
|
|
|
@ -64,12 +64,12 @@ public class FileLogManagerServiceImpl implements LogManagerApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件日志,必须有开始时间,否则文件太多太大
|
// 文件日志,必须有开始时间,否则文件太多太大
|
||||||
if (ObjectUtil.isEmpty(logManagerParam.getBeginDateTime())) {
|
if (ObjectUtil.isEmpty(logManagerParam.getBeginDate())) {
|
||||||
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取文件路径
|
// 获取文件路径
|
||||||
String filePath = getLogPath(logManagerParam.getAppName(), logManagerParam.getBeginDateTime());
|
String filePath = getLogPath(logManagerParam.getAppName(), logManagerParam.getBeginDate());
|
||||||
|
|
||||||
// 文件当前指针
|
// 文件当前指针
|
||||||
long filePointer = 0L;
|
long filePointer = 0L;
|
||||||
|
@ -107,17 +107,17 @@ public class FileLogManagerServiceImpl implements LogManagerApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作,必须有appName
|
// 删除操作,必须有appName
|
||||||
if (ObjectUtil.isEmpty(logManagerParam.getBeginDateTime())) {
|
if (ObjectUtil.isEmpty(logManagerParam.getBeginDate())) {
|
||||||
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件日志,必须有结束时间,否则文件太多太大
|
// 文件日志,必须有结束时间,否则文件太多太大
|
||||||
if (ObjectUtil.isEmpty(logManagerParam.getEndDateTime())) {
|
if (ObjectUtil.isEmpty(logManagerParam.getEndDate())) {
|
||||||
throw new LogException(END_DATETIME_NOT_EXIST);
|
throw new LogException(END_DATETIME_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算开始和结束两个时间之间的所有日期
|
// 计算开始和结束两个时间之间的所有日期
|
||||||
List<String> dates = getIntervalDate(logManagerParam.getBeginDateTime(), logManagerParam.getEndDateTime());
|
List<String> dates = getIntervalDate(logManagerParam.getBeginDate(), logManagerParam.getEndDate());
|
||||||
|
|
||||||
// 查找每一天的日志
|
// 查找每一天的日志
|
||||||
for (String date : dates) {
|
for (String date : dates) {
|
||||||
|
@ -141,12 +141,12 @@ public class FileLogManagerServiceImpl implements LogManagerApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件日志,必须有开始时间,否则文件太多太大
|
// 文件日志,必须有开始时间,否则文件太多太大
|
||||||
if (ObjectUtil.isEmpty(logManagerRequest.getBeginDateTime())) {
|
if (ObjectUtil.isEmpty(logManagerRequest.getBeginDate())) {
|
||||||
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取文件路径
|
// 获取文件路径
|
||||||
String filePath = getLogPath(logManagerRequest.getAppName(), logManagerRequest.getBeginDateTime());
|
String filePath = getLogPath(logManagerRequest.getAppName(), logManagerRequest.getBeginDate());
|
||||||
return this.readLog(filePath, logManagerRequest.getLogId());
|
return this.readLog(filePath, logManagerRequest.getLogId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue