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

View File

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

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

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