diff --git a/novalon-manage-api/manage-db/src/main/java/cn/novalon/manage/db/entity/query/OperationLogQueryCriteria.java b/novalon-manage-api/manage-db/src/main/java/cn/novalon/manage/db/entity/query/OperationLogQueryCriteria.java index 1098940..7ce8918 100644 --- a/novalon-manage-api/manage-db/src/main/java/cn/novalon/manage/db/entity/query/OperationLogQueryCriteria.java +++ b/novalon-manage-api/manage-db/src/main/java/cn/novalon/manage/db/entity/query/OperationLogQueryCriteria.java @@ -3,6 +3,8 @@ package cn.novalon.manage.db.entity.query; import cn.novalon.manage.sys.core.query.OperationLogQuery; import cn.novalon.manage.db.dao.QueryField; +import java.time.LocalDateTime; + /** * 操作日志查询条件对象 * @@ -23,6 +25,18 @@ public class OperationLogQueryCriteria { @QueryField(blurry = "username,operation,ip", type = QueryField.Type.INNER_LIKE) private String keyword; + @QueryField(propName = "createdAt", type = QueryField.Type.GREATER_THAN) + private LocalDateTime startTime; + + @QueryField(propName = "createdAt", type = QueryField.Type.LESS_THAN) + private LocalDateTime endTime; + + @QueryField(propName = "ip", type = QueryField.Type.INNER_LIKE) + private String ip; + + @QueryField(propName = "method", type = QueryField.Type.INNER_LIKE) + private String method; + public String getUsername() { return username; } @@ -55,6 +69,38 @@ public class OperationLogQueryCriteria { this.keyword = keyword; } + public LocalDateTime getStartTime() { + return startTime; + } + + public void setStartTime(LocalDateTime startTime) { + this.startTime = startTime; + } + + public LocalDateTime getEndTime() { + return endTime; + } + + public void setEndTime(LocalDateTime endTime) { + this.endTime = endTime; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + /** * 从领域查询对象转换 * @@ -68,5 +114,9 @@ public class OperationLogQueryCriteria { this.operation = query.getOperation(); this.status = query.getStatus(); this.keyword = query.getKeyword(); + this.startTime = query.getStartTime(); + this.endTime = query.getEndTime(); + this.ip = query.getIp(); + this.method = query.getMethod(); } } diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/query/OperationLogQuery.java b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/query/OperationLogQuery.java index 1d22ae3..aa4179d 100644 --- a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/query/OperationLogQuery.java +++ b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/core/query/OperationLogQuery.java @@ -1,5 +1,7 @@ package cn.novalon.manage.sys.core.query; +import java.time.LocalDateTime; + /** * 操作日志查询对象 * @@ -12,6 +14,10 @@ public class OperationLogQuery { private String operation; private String status; private String keyword; + private LocalDateTime startTime; + private LocalDateTime endTime; + private String ip; + private String method; public String getUsername() { return username; @@ -44,4 +50,36 @@ public class OperationLogQuery { public void setKeyword(String keyword) { this.keyword = keyword; } + + public LocalDateTime getStartTime() { + return startTime; + } + + public void setStartTime(LocalDateTime startTime) { + this.startTime = startTime; + } + + public LocalDateTime getEndTime() { + return endTime; + } + + public void setEndTime(LocalDateTime endTime) { + this.endTime = endTime; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } } diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/handler/log/OperationLogHandler.java b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/handler/log/OperationLogHandler.java index afb7a18..7e5dad8 100644 --- a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/handler/log/OperationLogHandler.java +++ b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/handler/log/OperationLogHandler.java @@ -56,6 +56,10 @@ public class OperationLogHandler { String username = request.queryParam("username").orElse(null); String operation = request.queryParam("operation").orElse(null); String status = request.queryParam("status").orElse(null); + String startTimeStr = request.queryParam("startTime").orElse(null); + String endTimeStr = request.queryParam("endTime").orElse(null); + String ip = request.queryParam("ip").orElse(null); + String method = request.queryParam("method").orElse(null); PageRequest pageRequest = new PageRequest(); pageRequest.setPage(page); @@ -69,6 +73,15 @@ public class OperationLogHandler { query.setOperation(operation); query.setStatus(status); query.setKeyword(keyword); + query.setIp(ip); + query.setMethod(method); + + if (startTimeStr != null && !startTimeStr.isEmpty()) { + query.setStartTime(java.time.LocalDateTime.parse(startTimeStr)); + } + if (endTimeStr != null && !endTimeStr.isEmpty()) { + query.setEndTime(java.time.LocalDateTime.parse(endTimeStr)); + } return logService.findByQueryWithPagination(query, pageRequest) .flatMap(response -> ServerResponse.ok().bodyValue(response));