package com.zzsmart.qomo.kn.cost.manage.vo;

import com.zzsmart.qomo.common.enums.ReleaseState;
import com.zzsmart.qomo.kn.cost.manage.entity.AppSceneCostModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 模型信息封装
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CostModelDefinitionVO extends AppSceneCostModel {
    @ApiModelProperty("encoding")
    private String code;
    @ApiModelProperty("flow definition name")
    private String name;
    @ApiModelProperty("flow definition version")
    private Integer version;
    @ApiModelProperty("flow definition release state: 0:offline,1:online")
    private ReleaseState releaseState;
    @ApiModelProperty("定时调度表达式")
    private String scheduleCron;
    @ApiModelProperty("任务调度模式(1任务队列领取模式(推荐) 2所有集群服务器均可同时运行 3只有主服务器可运行(主服务器失败时其他服务器接管) 4由调度服务器统一调度)")
    private Integer scheduleMode;
    @ApiModelProperty("依赖周期(分钟)")
    private Integer dependencyCycle;
    @ApiModelProperty("在任务队列模式下可以根据任务重要性来领取任务(10为最高)")
    private Integer taskImportance;
    @ApiModelProperty("运行方式（0 禁用 1手动触发 2定时自动调度 3依赖上级流程）")
    private Integer runMode;
    @ApiModelProperty("project id")
    private Integer projectId;
    @ApiModelProperty("project code")
    private String projectCode;
    @ApiModelProperty("环境配置ID")
    private Integer environmentId;
    @ApiModelProperty("租户ID")
    private Integer tenantId;
}
