1、提交本地应用任务相关接口
This commit is contained in:
2
1-sql/2026-01-04/project/simulation_local_job.sql
Normal file
2
1-sql/2026-01-04/project/simulation_local_job.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE simulation_local_job`
|
||||
ADD COLUMN `errMsg` VARCHAR(2048) NOT NULL COMMENT '错误信息' AFTER `updateTime`;
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.sdm.project.controller;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.log.annotation.SysLog;
|
||||
import com.sdm.project.model.req.SimulationLocalJobReq;
|
||||
import com.sdm.project.model.req.SpdmLocalJobListReq;
|
||||
import com.sdm.project.service.ISimulationLocalJobService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "/localJob")
|
||||
@Tag(name = "仿真本地应用任务管理", description = "仿真本地应用任务管理相关接口")
|
||||
public class SimulationLocalJobController {
|
||||
|
||||
@Autowired
|
||||
private ISimulationLocalJobService simulationLocalJobService;
|
||||
|
||||
|
||||
/**
|
||||
* 新增本地应用任务
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@SysLog("新增本地应用任务")
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增本地应用任务", description = "新增本地应用任务")
|
||||
public SdmResponse add(@RequestBody SimulationLocalJobReq req) {
|
||||
return simulationLocalJobService.addJob(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新本地应用任务
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@SysLog("更新本地应用任务")
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "更新本地应用任务", description = "更新本地应用任务")
|
||||
public SdmResponse update(@RequestBody SimulationLocalJobReq req) {
|
||||
return simulationLocalJobService.updateJob(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询本地应用任务
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@SysLog("查询本地应用任务")
|
||||
@PostMapping("/list")
|
||||
@Operation(summary = "查询本地应用任务", description = "查询本地应用任务")
|
||||
public SdmResponse list(@RequestBody SpdmLocalJobListReq req) {
|
||||
return simulationLocalJobService.jobList(req);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.sdm.project.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.project.model.entity.SimulationLocalJob;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SimulationLocalJobMapper extends BaseMapper<SimulationLocalJob> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
package com.sdm.project.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 本地应用任务表
|
||||
* 对应数据库表:simulation_local_job
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SimulationLocalJob对象")
|
||||
@TableName(value = "simulation_local_job")
|
||||
public class SimulationLocalJob implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 本地应用名称
|
||||
*/
|
||||
@TableField(value = "localAppName")
|
||||
private String localAppName;
|
||||
|
||||
/**
|
||||
* 本地应用版本
|
||||
*/
|
||||
@TableField(value = "localAppVersion")
|
||||
private String localAppVersion;
|
||||
|
||||
/**
|
||||
* 计算任务所属算力ID
|
||||
*/
|
||||
@TableField(value = "runId")
|
||||
private String runId;
|
||||
|
||||
/**
|
||||
* 计算任务所属算力名称
|
||||
*/
|
||||
@TableField(value = "runName")
|
||||
private String runName;
|
||||
|
||||
/**
|
||||
* 计算任务所属任务ID
|
||||
*/
|
||||
@TableField(value = "taskId")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 计算任务所属任务名称
|
||||
*/
|
||||
@TableField(value = "taskName")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务开始时间(建议格式:yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
@TableField(value = "startTime")
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 任务结束时间(建议格式:yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
@TableField(value = "endTime")
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 任务状态,Running,Finished,Failed
|
||||
*/
|
||||
@TableField(value = "jobStatus")
|
||||
private String jobStatus;
|
||||
|
||||
/**
|
||||
* 作业耗费总秒数(单位:秒)
|
||||
*/
|
||||
@TableField(value = "totalElapsedTime")
|
||||
private Long totalElapsedTime;
|
||||
|
||||
/**
|
||||
* 创建者ID(关联用户表主键)
|
||||
*/
|
||||
@TableField(value = "creatorId")
|
||||
private Long creatorId;
|
||||
|
||||
/**
|
||||
* 租户ID
|
||||
*/
|
||||
@TableField(value = "tenantId")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "createTime")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新者ID(关联用户表主键)
|
||||
*/
|
||||
@TableField(value = "updaterId")
|
||||
private Long updaterId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@TableField(value = "updateTime")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 错误信息
|
||||
*/
|
||||
@TableField(value = "errMsg")
|
||||
private String errMsg;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Data
|
||||
public class SimulationLocalJobReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 本地应用名称
|
||||
*/
|
||||
private String localAppName;
|
||||
|
||||
/**
|
||||
* 本地应用版本
|
||||
*/
|
||||
private String localAppVersion;
|
||||
|
||||
/**
|
||||
* 计算任务所属算力ID
|
||||
*/
|
||||
private String runId;
|
||||
|
||||
/**
|
||||
* 计算任务所属算力名称
|
||||
*/
|
||||
private String runName;
|
||||
|
||||
/**
|
||||
* 计算任务所属任务ID
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 计算任务所属任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务开始时间(建议格式:yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 任务结束时间(建议格式:yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 任务状态,Running,Finished,Failed
|
||||
*/
|
||||
private String jobStatus;
|
||||
|
||||
/**
|
||||
* 作业耗费总秒数(单位:秒)
|
||||
*/
|
||||
private Long totalElapsedTime;
|
||||
|
||||
/**
|
||||
* 创建者ID(关联用户表主键)
|
||||
*/
|
||||
private Long creatorId;
|
||||
|
||||
/**
|
||||
* 租户ID
|
||||
*/
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新者ID(关联用户表主键)
|
||||
*/
|
||||
private Long updaterId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 错误信息
|
||||
*/
|
||||
private String errMsg;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.common.validator.annotation.EnumValue;
|
||||
import com.sdm.project.common.TaskQryTypeEnum;
|
||||
import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Data
|
||||
public class SpdmLocalJobListReq {
|
||||
|
||||
@NotNull(message = "current不能为空")
|
||||
private Integer current;
|
||||
|
||||
@NotNull(message = "size不能为空")
|
||||
private Integer size;
|
||||
|
||||
/**
|
||||
* 本地应用名称
|
||||
*/
|
||||
private String localAppName;
|
||||
|
||||
/**
|
||||
* 本地应用版本
|
||||
*/
|
||||
private String localAppVersion;
|
||||
|
||||
|
||||
/**
|
||||
* 计算任务所属算力名称
|
||||
*/
|
||||
private String runName;
|
||||
|
||||
/**
|
||||
* 计算任务所属任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务开始时间(建议格式:yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 任务结束时间(建议格式:yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 任务状态,Running,Finished,Failed
|
||||
*/
|
||||
private String jobStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 错误信息
|
||||
*/
|
||||
private String errMsg;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.sdm.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.project.model.entity.SimulationLocalJob;
|
||||
import com.sdm.project.model.req.SimulationLocalJobReq;
|
||||
import com.sdm.project.model.req.SpdmLocalJobListReq;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-11-03
|
||||
*/
|
||||
public interface ISimulationLocalJobService extends IService<SimulationLocalJob> {
|
||||
|
||||
SdmResponse addJob(SimulationLocalJobReq req);
|
||||
|
||||
SdmResponse updateJob(SimulationLocalJobReq req);
|
||||
|
||||
SdmResponse jobList(SpdmLocalJobListReq req);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.sdm.project.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.utils.DateUtils;
|
||||
import com.sdm.common.utils.PageUtils;
|
||||
import com.sdm.outbridge.entity.LyricVProjectToDM;
|
||||
import com.sdm.project.dao.SimulationLocalJobMapper;
|
||||
import com.sdm.project.model.entity.SimulationLocalJob;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.sdm.project.model.req.SimulationLocalJobReq;
|
||||
import com.sdm.project.model.req.SpdmLocalJobListReq;
|
||||
import com.sdm.project.service.ISimulationLocalJobService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-11-03
|
||||
*/
|
||||
@Service
|
||||
public class SimulationLocalJobServiceImpl extends ServiceImpl<SimulationLocalJobMapper, SimulationLocalJob> implements ISimulationLocalJobService {
|
||||
|
||||
|
||||
@Override
|
||||
public SdmResponse addJob(SimulationLocalJobReq req) {
|
||||
SimulationLocalJob simulationLocalJob = new SimulationLocalJob();
|
||||
BeanUtils.copyProperties(req,simulationLocalJob);
|
||||
simulationLocalJob.setTenantId(ThreadLocalContext.getTenantId());
|
||||
simulationLocalJob.setCreatorId(ThreadLocalContext.getUserId());
|
||||
simulationLocalJob.setCreateTime(new Date());
|
||||
this.save(simulationLocalJob);
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse updateJob(SimulationLocalJobReq req) {
|
||||
boolean updateFlag = this.lambdaUpdate()
|
||||
.set(StringUtils.isNotBlank(req.getEndTime()),SimulationLocalJob::getEndTime, req.getEndTime())
|
||||
.set(StringUtils.isNotBlank(req.getJobStatus()),SimulationLocalJob::getJobStatus, req.getJobStatus())
|
||||
.set(ObjectUtils.isNotEmpty(req.getTotalElapsedTime()),SimulationLocalJob::getTotalElapsedTime, req.getTotalElapsedTime())
|
||||
.set(StringUtils.isNotBlank(req.getErrMsg()),SimulationLocalJob::getErrMsg, req.getErrMsg())
|
||||
.set(SimulationLocalJob::getUpdateTime, new Date())
|
||||
.set(SimulationLocalJob::getUpdaterId, ThreadLocalContext.getUserId())
|
||||
.eq(SimulationLocalJob::getId, req.getId()).update();
|
||||
return updateFlag ? SdmResponse.success("更新本地应用任务成功") : SdmResponse.failed("更新本地应用任务失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse jobList(SpdmLocalJobListReq req) {
|
||||
PageHelper.startPage(req.getCurrent(), req.getSize());
|
||||
List<SimulationLocalJob> localJobList = this.lambdaQuery()
|
||||
.like(StringUtils.isNotBlank(req.getLocalAppName()), SimulationLocalJob::getLocalAppName, req.getLocalAppName())
|
||||
.eq(StringUtils.isNotBlank(req.getLocalAppVersion()), SimulationLocalJob::getLocalAppVersion, req.getLocalAppVersion())
|
||||
.like(StringUtils.isNotBlank(req.getRunName()), SimulationLocalJob::getRunName, req.getRunName())
|
||||
.like(StringUtils.isNotBlank(req.getTaskName()), SimulationLocalJob::getTaskName, req.getTaskName())
|
||||
.ge(StringUtils.isNotBlank(req.getStartTime()), SimulationLocalJob::getStartTime, req.getStartTime())
|
||||
.le(StringUtils.isNotBlank(req.getEndTime()), SimulationLocalJob::getEndTime, req.getEndTime())
|
||||
.eq(StringUtils.isNotBlank(req.getJobStatus()), SimulationLocalJob::getJobStatus, req.getJobStatus())
|
||||
.like(StringUtils.isNotBlank(req.getErrMsg()), SimulationLocalJob::getErrMsg, req.getErrMsg())
|
||||
.list();
|
||||
PageInfo<SimulationLocalJob> page = new PageInfo<>(localJobList);
|
||||
return PageUtils.getJsonObjectSdmResponse(localJobList, page);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user