办学质量监测教学评价系统
ageer
2024-04-01 dea23f13ef2d4918080ce8aeee1ee908188cdb19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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 = "";
    }
}