package com.xmzs.midjourney.support;
|
|
import com.xmzs.midjourney.domain.DomainObject;
|
import com.xmzs.midjourney.enums.TaskAction;
|
import com.xmzs.midjourney.enums.TaskStatus;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
|
import java.io.Serial;
|
|
@Data
|
@EqualsAndHashCode(callSuper = true)
|
@ApiModel("任务")
|
public class Task extends DomainObject {
|
@Serial
|
private static final long serialVersionUID = -674915748204390789L;
|
|
@ApiModelProperty("任务类型")
|
private TaskAction action;
|
@ApiModelProperty("任务状态")
|
private TaskStatus status = TaskStatus.NOT_START;
|
|
@ApiModelProperty("提示词")
|
private String prompt;
|
@ApiModelProperty("提示词-英文")
|
private String promptEn;
|
|
@ApiModelProperty("任务描述")
|
private String description;
|
@ApiModelProperty("自定义参数")
|
private String state;
|
|
@ApiModelProperty("提交时间")
|
private Long submitTime;
|
@ApiModelProperty("开始执行时间")
|
private Long startTime;
|
@ApiModelProperty("结束时间")
|
private Long finishTime;
|
|
@ApiModelProperty("图片url")
|
private String imageUrl;
|
|
@ApiModelProperty("任务进度")
|
private String progress;
|
@ApiModelProperty("失败原因")
|
private String failReason;
|
|
public void start() {
|
this.startTime = System.currentTimeMillis();
|
this.status = TaskStatus.SUBMITTED;
|
this.progress = "0%";
|
}
|
|
public void success() {
|
this.finishTime = System.currentTimeMillis();
|
this.status = TaskStatus.SUCCESS;
|
this.progress = "100%";
|
}
|
|
public void fail(String reason) {
|
this.finishTime = System.currentTimeMillis();
|
this.status = TaskStatus.FAILURE;
|
this.failReason = reason;
|
this.progress = "";
|
}
|
}
|