diff --git a/common/src/main/java/com/sdm/common/entity/req/project/BaseReq.java b/common/src/main/java/com/sdm/common/entity/req/project/BaseReq.java new file mode 100644 index 00000000..5f98f4f6 --- /dev/null +++ b/common/src/main/java/com/sdm/common/entity/req/project/BaseReq.java @@ -0,0 +1,56 @@ +package com.sdm.common.entity.req.project; + +import com.fasterxml.jackson.annotation.JsonFormat; +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 = "当前页码") + @NotNull(message = "当前页码不能为空") + private Integer current; + + @Schema(description = "每页显示数量") + @NotNull(message = "每页显示数量不能为空") + private Integer size; + + @Schema(description = "文件创建搜索开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String startTime; + + @Schema(description = "文件创建搜索结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String 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 = createTime.get(0); + this.endTime = createTime.get(1); + } catch (Exception e) { + throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式"); + } + } + } +} diff --git a/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java b/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java index 56baf606..a86af3fe 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java @@ -32,9 +32,9 @@ public class SimulationAnalysisController { * @param req * @return */ - @GetMapping("/taskList") + @PostMapping("/taskList") @Operation(summary = "仿真工况", description = "仿真工况") - public SdmResponse taskList(SpdmAnalysisTaskListReq req) { + public SdmResponse taskList(@RequestBody SpdmAnalysisTaskListReq req) { return taskService.analysisTaskList(req); } @@ -44,9 +44,9 @@ public class SimulationAnalysisController { * @param req * @return */ - @GetMapping("/performanceList") + @PostMapping("/performanceList") @Operation(summary = "指标", description = "指标") - public SdmResponse performanceList(SpdmAnalysisPerformanceListReq req) { + public SdmResponse performanceList(@RequestBody SpdmAnalysisPerformanceListReq req) { return taskService.analysisPerformanceList(req); } @@ -56,7 +56,7 @@ public class SimulationAnalysisController { * @param req * @return */ - @GetMapping("/runList") + @PostMapping("/runList") @Operation(summary = "算例", description = "算例") public SdmResponse runList(SpdmAnalysisRunListReq req) { return taskService.analysisRunList(req); diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java index 7922359b..86cda245 100644 --- a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java +++ b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.sdm.common.entity.ExportExcelFormat; import com.sdm.common.entity.pojo.BaseEntity; import com.sdm.common.entity.req.data.TagReq; +import com.sdm.common.entity.req.project.BaseReq; import com.sdm.common.entity.req.task.TaskExportExcelParam; import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema; @@ -13,7 +14,7 @@ import lombok.Data; import java.util.List; @Data -public class SpdmAnalysisPerformanceListReq extends BaseEntity { +public class SpdmAnalysisPerformanceListReq extends BaseReq { @NotNull(message = "current不能为空") private Integer current; diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java index bc5cfde1..74b118ed 100644 --- a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java +++ b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.sdm.common.entity.ExportExcelFormat; import com.sdm.common.entity.pojo.BaseEntity; import com.sdm.common.entity.req.data.TagReq; +import com.sdm.common.entity.req.project.BaseReq; import com.sdm.common.entity.req.task.TaskExportExcelParam; import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema; @@ -15,7 +16,7 @@ import java.time.LocalDateTime; import java.util.List; @Data -public class SpdmAnalysisRunListReq extends BaseEntity { +public class SpdmAnalysisRunListReq extends BaseReq { @NotNull(message = "current不能为空") private Integer current; diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java index 9de2b25c..317456de 100644 --- a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java +++ b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.sdm.common.entity.ExportExcelFormat; import com.sdm.common.entity.pojo.BaseEntity; import com.sdm.common.entity.req.data.TagReq; +import com.sdm.common.entity.req.project.BaseReq; import com.sdm.common.entity.req.task.TaskExportExcelParam; import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema; @@ -15,7 +16,7 @@ import lombok.Data; import java.util.List; @Data -public class SpdmAnalysisTaskListReq extends BaseEntity { +public class SpdmAnalysisTaskListReq extends BaseReq { @NotNull(message = "current不能为空") private Integer current;