From a5259bcaa3355eac3c90888b5807f1bcbf6635df Mon Sep 17 00:00:00 2001 From: 15195 Date: Sat, 31 Jan 2026 20:12:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9Ahpc=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sdm/pbs/model/entity/SimulationJob.java | 3 ++- .../com/sdm/pbs/service/impl/PbsServiceDecorator.java | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pbs/src/main/java/com/sdm/pbs/model/entity/SimulationJob.java b/pbs/src/main/java/com/sdm/pbs/model/entity/SimulationJob.java index 9d20675e..d434c2db 100644 --- a/pbs/src/main/java/com/sdm/pbs/model/entity/SimulationJob.java +++ b/pbs/src/main/java/com/sdm/pbs/model/entity/SimulationJob.java @@ -143,7 +143,7 @@ public class SimulationJob implements Serializable { @TableField("uuid") private String uuid; - @Schema(description = "任务结果回传状态,generating,uploading,finished") + @Schema(description = "任务结果回传状态,generating,uploading,finished,failed") @TableField("fileStatus") private String fileStatus; @@ -174,6 +174,7 @@ public class SimulationJob implements Serializable { private Long dirId; @Schema(description = "任务耗时,前端展示字段") + @TableField(value = "costTime",exist = false) private String costTime; } \ No newline at end of file diff --git a/pbs/src/main/java/com/sdm/pbs/service/impl/PbsServiceDecorator.java b/pbs/src/main/java/com/sdm/pbs/service/impl/PbsServiceDecorator.java index 1eabaf53..1b5fdc9b 100644 --- a/pbs/src/main/java/com/sdm/pbs/service/impl/PbsServiceDecorator.java +++ b/pbs/src/main/java/com/sdm/pbs/service/impl/PbsServiceDecorator.java @@ -67,6 +67,9 @@ public class PbsServiceDecorator implements IPbsServiceDecorator { @Autowired private IFlowableFeignClient flowableFeignClient; + @Value("#{'${hpc.jobs.ascOrders:Queued,Running,Failed,Canceled,Finished }'.split(',')}") + private List ascOrders; + // 正则匹配%后的单词(\w+ 匹配字母、数字、下划线) private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile("%(\\w+)"); @@ -570,6 +573,12 @@ public class PbsServiceDecorator implements IPbsServiceDecorator { if (req.getRunId() != null && !req.getRunId().trim().isEmpty()) { // like,实现 包含关键词 的模糊查询(%关键词%) queryChain.like(SimulationJob::getRunId, req.getRunId().trim()); + } + // 排序 + if (CollectionUtils.isNotEmpty(ascOrders)) { + String statusValues = String.join("','", ascOrders); + String orderBySql = String.format("ORDER BY FIELD(jobStatus, '%s') ASC, createTime DESC", statusValues); + queryChain.getWrapper().last(orderBySql); } List results = queryChain.list(); // 时间转换