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})
|
||||
private String beginDateTime;
|
||||
private String beginDate;
|
||||
|
||||
/**
|
||||
* 查询日志的结束时间
|
||||
*/
|
||||
@NotBlank(message = "结束时间不能为空", groups = {delete.class})
|
||||
private String endDateTime;
|
||||
private String endDate;
|
||||
|
||||
/**
|
||||
* 日志的名称,一般为业务名称
|
||||
|
|
|
@ -66,7 +66,7 @@ public class LogManagerController {
|
|||
*/
|
||||
@PostResource(name = "删除日志", path = "/logManager/delete")
|
||||
public ResponseData delete(@RequestBody @Validated(LogManagerRequest.delete.class) LogManagerRequest logManagerRequest) {
|
||||
logManagerApi.del(logManagerRequest);
|
||||
sysLogService.delAll(logManagerRequest);
|
||||
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.pojo.page.PageResult;
|
||||
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.db.entity.SysLog;
|
||||
import cn.stylefeng.roses.kernel.log.db.mapper.SysLogMapper;
|
||||
import cn.stylefeng.roses.kernel.log.db.service.SysLogService;
|
||||
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.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.stylefeng.roses.kernel.log.api.exception.enums.LogExceptionEnum.LOG_NOT_EXISTED;
|
||||
|
||||
/**
|
||||
* 日志记录 service接口实现类
|
||||
|
@ -45,7 +46,12 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
|||
|
||||
@Override
|
||||
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
|
||||
|
@ -76,7 +82,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
|||
private SysLog querySysLogById(LogManagerRequest logManagerRequest) {
|
||||
SysLog sysLog = this.getById(logManagerRequest.getLogId());
|
||||
if (sysLog == null) {
|
||||
throw new LogException(LOG_NOT_EXISTED, logManagerRequest.getLogId());
|
||||
throw new LogException(LogExceptionEnum.LOG_NOT_EXISTED, logManagerRequest.getLogId());
|
||||
}
|
||||
return sysLog;
|
||||
}
|
||||
|
@ -97,8 +103,8 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
|||
return queryWrapper;
|
||||
}
|
||||
|
||||
String beginDateTime = logManagerRequest.getBeginDateTime();
|
||||
String endDateTime = logManagerRequest.getEndDateTime();
|
||||
String beginDateTime = logManagerRequest.getBeginDate();
|
||||
String endDateTime = logManagerRequest.getEndDate();
|
||||
|
||||
// SQL条件拼接
|
||||
String name = logManagerRequest.getLogName();
|
||||
|
@ -108,10 +114,10 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
|||
String clientIp = logManagerRequest.getClientIp();
|
||||
String url = logManagerRequest.getRequestUrl();
|
||||
|
||||
queryWrapper.between(!StrUtil.isAllBlank(beginDateTime, endDateTime), SysLog::getCreateTime, beginDateTime, endDateTime);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(name), SysLog::getLogName, name);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(appName), SysLog::getAppName, appName);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);
|
||||
queryWrapper.between(StrUtil.isAllNotBlank(beginDateTime, endDateTime), SysLog::getCreateTime, beginDateTime + " 00:00:00", endDateTime + " 23:59:59");
|
||||
queryWrapper.like(StrUtil.isNotEmpty(name), SysLog::getLogName, name);
|
||||
queryWrapper.like(StrUtil.isNotEmpty(appName), SysLog::getAppName, appName);
|
||||
queryWrapper.like(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(userId), SysLog::getUserId, userId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(clientIp), SysLog::getClientIp, clientIp);
|
||||
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);
|
||||
}
|
||||
|
||||
// 获取文件路径
|
||||
String filePath = getLogPath(logManagerParam.getAppName(), logManagerParam.getBeginDateTime());
|
||||
String filePath = getLogPath(logManagerParam.getAppName(), logManagerParam.getBeginDate());
|
||||
|
||||
// 文件当前指针
|
||||
long filePointer = 0L;
|
||||
|
@ -107,17 +107,17 @@ public class FileLogManagerServiceImpl implements LogManagerApi {
|
|||
}
|
||||
|
||||
// 删除操作,必须有appName
|
||||
if (ObjectUtil.isEmpty(logManagerParam.getBeginDateTime())) {
|
||||
if (ObjectUtil.isEmpty(logManagerParam.getBeginDate())) {
|
||||
throw new LogException(BEGIN_DATETIME_NOT_EXIST);
|
||||
}
|
||||
|
||||
// 文件日志,必须有结束时间,否则文件太多太大
|
||||
if (ObjectUtil.isEmpty(logManagerParam.getEndDateTime())) {
|
||||
if (ObjectUtil.isEmpty(logManagerParam.getEndDate())) {
|
||||
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) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
// 获取文件路径
|
||||
String filePath = getLogPath(logManagerRequest.getAppName(), logManagerRequest.getBeginDateTime());
|
||||
String filePath = getLogPath(logManagerRequest.getAppName(), logManagerRequest.getBeginDate());
|
||||
return this.readLog(filePath, logManagerRequest.getLogId());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue