package com.yice.webadmin.app.vo;

import com.yice.common.core.base.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.Map;

/**
 * ModelManageVO视图对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@ApiModel("ModelManageVO视图对象")
@Data
@EqualsAndHashCode(callSuper = true)
public class ModelManageVo extends BaseVo {

    /**
     * 模型ID。
     */
    @ApiModelProperty(value = "模型ID")
    private Long modelId;

    /**
     * 模型名称。
     */
    @ApiModelProperty(value = "模型名称")
    private String modelName;

    /**
     * 模型类型。
     */
    @ApiModelProperty(value = "模型类型")
    private Integer modelType;

    /**
     * 模型描述。
     */
    @ApiModelProperty(value = "模型描述")
    private String modelDescribe;

    /**
     * 版本数量。
     */
    @ApiModelProperty(value = "版本数量")
    private Integer versionCount;

    /**
     * 业务标签。
     */
    @ApiModelProperty(value = "业务标签")
    private String businessLabel;

    /**
     * 是否为基础模型。
     */
    @ApiModelProperty(value = "是否为基础模型")
    private Integer isBaseModel;

    /**
     * 最新版本来源。
     */
    @ApiModelProperty(value = "最新版本来源")
    private String lastVersionSource;

    /**
     * ModelVersion 的一对多关联表数据对象。数据对应类型为ModelVersion。
     */
    @ApiModelProperty(value = "ModelVersion 的一对多关联表数据对象。数据对应类型为ModelVersion")
    private List<Map<String, Object>> modelVersionList;

    /**
     * ModelTask 的一对多关联表数据对象。数据对应类型为ModelTask。
     */
    @ApiModelProperty(value = "ModelTask 的一对多关联表数据对象。数据对应类型为ModelTask")
    private List<Map<String, Object>> modelTaskList;

    /**
     * ModelDeploy 的一对多关联表数据对象。数据对应类型为ModelDeploy。
     */
    @ApiModelProperty(value = "ModelDeploy 的一对多关联表数据对象。数据对应类型为ModelDeploy")
    private List<Map<String, Object>> modelDeployList;

    /**
     * 创建人名称。
     */
    @ApiModelProperty(value = "创建人名称")
    private Map<String, Object> createUserIdDictMap;
}
