package com.yice.webadmin.app.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yice.common.core.base.mapper.BaseModelMapper;
import com.yice.common.core.base.model.BaseModel;
import com.yice.webadmin.app.vo.ModelInstanceVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 实体对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "lmp_model_instance")
public class ModelInstance extends BaseModel {

    /**
     * 部署ID。
     */
    @TableId(value = "instance_id")
    private Long instanceId;

    /**
     * 模型ID，外键。
     */
    private Long modelId;

    /**
     * 版本ID，外键。
     */
    private Long versionId;

    /**
     * 模型版本名称。
     */
    private String versionName;

    /**
     * 模型名称。
     */
    private String modelName;

    /**
     * 模型版本号。
     */
    private Integer modelVersion;

    /**
     * 部署状态。
     */
    private Integer deployStatus;

    /**
     * 服务名称。
     */
    @TableField(exist = false)
    private String serviceName;

    /**
     * 资源信息。
     */
    @TableField(exist = false)
    private String resourceInfo;

    /**
     * 服务地址。
     */
    @TableField(exist = false)
    private String apiUrl;

    /**
     * 服务描述。
     */
    @TableField(exist = false)
    private String remark;

    @Mapper
    public interface ModelInstanceMapper extends BaseModelMapper<ModelInstanceVo, ModelInstance> {
    }

    public static final ModelInstanceMapper INSTANCE = Mappers.getMapper(ModelInstanceMapper.class);
}
