【7.0.1】更新操作日志查询的问题

pull/3/head
fengshuonan 2021-02-27 23:13:16 +08:00
parent 2ca8013a67
commit 65eed55f5e
4 changed files with 25 additions and 19 deletions

View File

@ -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;
/**
*

View File

@ -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();
}

View File

@ -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);

View File

@ -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());
}