fix:优化时间查询参数

This commit is contained in:
2026-03-02 11:41:30 +08:00
parent 7fb11f9c43
commit aab9aefbe2
3 changed files with 37 additions and 41 deletions

View File

@@ -1,9 +1,14 @@
package com.sdm.common.entity.req.data;
import com.fasterxml.jackson.annotation.JsonSetter;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
@Data
public class BaseReq {
@Schema(description = "当前页码")
@@ -13,4 +18,36 @@ public class BaseReq {
@Schema(description = "每页显示数量")
@NotNull(message = "每页显示数量不能为空")
private Integer size;
@Schema(description = "文件创建搜索开始时间")
private LocalDateTime startTime;
@Schema(description = "文件创建搜索结束时间")
private LocalDateTime endTime;
@Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']")
private List<String> createTime;
// 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法
@JsonSetter("createTime")
public void setCreateTime(List<String> createTime) {
this.createTime = createTime;
parseCreateTimeToStartEndTime();
}
/**
* 解析 createTime 并赋值给 startTime 和 endTime
*/
private void parseCreateTimeToStartEndTime() {
if (createTime != null && createTime.size() == 2) {
try {
// 解析时间字符串为 LocalDateTime
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
this.startTime = LocalDateTime.parse(createTime.get(0), formatter);
this.endTime = LocalDateTime.parse(createTime.get(1), formatter);
} catch (Exception e) {
throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式");
}
}
}
}

View File

@@ -56,14 +56,6 @@ public class GetSimulationTaskFileReq extends BaseReq {
@Schema(description = "上传人id")
private List<Long> uploadUserId;
@Schema(description = "开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@Schema(description = "结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@Schema(description = "查询层级task 只查task下面的文件不查子目录下的")
private String level;