diff --git a/common/src/main/java/com/sdm/common/entity/req/data/BaseReq.java b/common/src/main/java/com/sdm/common/entity/req/data/BaseReq.java index 43327c7b..7af1a66a 100644 --- a/common/src/main/java/com/sdm/common/entity/req/data/BaseReq.java +++ b/common/src/main/java/com/sdm/common/entity/req/data/BaseReq.java @@ -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 createTime; + + // 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法 + @JsonSetter("createTime") + public void setCreateTime(List 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' 格式"); + } + } + } } diff --git a/common/src/main/java/com/sdm/common/entity/req/data/GetSimulationTaskFileReq.java b/common/src/main/java/com/sdm/common/entity/req/data/GetSimulationTaskFileReq.java index c527348e..c051d945 100644 --- a/common/src/main/java/com/sdm/common/entity/req/data/GetSimulationTaskFileReq.java +++ b/common/src/main/java/com/sdm/common/entity/req/data/GetSimulationTaskFileReq.java @@ -56,14 +56,6 @@ public class GetSimulationTaskFileReq extends BaseReq { @Schema(description = "上传人id") private List 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; diff --git a/data/src/main/java/com/sdm/data/model/req/FileSearchReq.java b/data/src/main/java/com/sdm/data/model/req/FileSearchReq.java index 95fab4b0..9e92fc89 100644 --- a/data/src/main/java/com/sdm/data/model/req/FileSearchReq.java +++ b/data/src/main/java/com/sdm/data/model/req/FileSearchReq.java @@ -83,13 +83,6 @@ public class FileSearchReq extends BaseReq { private String fileSizeUnit; - - @Schema(description = "文件创建搜索开始时间") - private LocalDateTime startTime; - - @Schema(description = "文件创建搜索结束时间") - private LocalDateTime endTime; - @Schema(description = "文件业务类型(1:模型文件 2:仿真报告、3:计算文件、4:曲线文件、5:云图文件,6:网格文件,7:计算过程文件)",enumAsRef = true) private List fileBizType; @@ -129,30 +122,4 @@ public class FileSearchReq extends BaseReq { @Schema(description = "上传人id") private String uploadUserId; - - @Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']") - private List createTime; - - // 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法 - @JsonSetter("createTime") - public void setCreateTime(List 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' 格式"); - } - } - } } \ No newline at end of file