package com.huatek.busi.entity;

import com.huatek.torch.sql.annotation.FieldName;
import com.huatek.torch.sql.annotation.Id;
import com.huatek.torch.sql.annotation.TableName;
import com.huatek.torch.sql.beans.Pojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *      模型
 *  </p>
 *
 * @author Leo
 * @since 2023-03-03
 */
@Data
@TableName("sys_model")
public class SysModel extends Pojo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 模型ID
     */
    @Id("model_id")
    @ApiModelProperty(value = "模型ID",  name="modelId")
    private String modelId;

    /**
     * 模型名称
     */
    @FieldName("name")
    @ApiModelProperty(value = "模型名称",  name="name")
    private String name;

    /**
     * 模型原始名称
     */
    @FieldName("original_name")
    @ApiModelProperty(value = "模型原始名称",  name="originalName")
    private String originalName;

    /**
     * 模型类型(变压器：byq，GIS：gis，避雷器：blq，高压电缆：dl，发电机：fdj，开关柜：kgg)
     */
    @FieldName("model_type")
    @ApiModelProperty(value = "模型类型(变压器：byq，GIS：gis，避雷器：blq，高压电缆：dl，发电机：fdj，开关柜：kgg)",  name="modelType")
    private String modelType;

    /**
     * 启用状态 1 启用 0未启用
     */
    @FieldName("status")
    @ApiModelProperty(value = "启用状态 1 启用 0未启用",  name="status")
    private String status;

    /**
     * 所属站点
     */
    @FieldName("site_id")
    @ApiModelProperty(value = "所属站点",  name="siteId")
    private String siteId;

    /**
     * 文件路径
     */
    @ApiModelProperty(value = "文件路径",  name="filePath")
    @FieldName("file_path")
    private String filePath;

    /**
     * 删除标识
     */
    @FieldName("deleted")
    @ApiModelProperty(value = "deleted",name = "是否删除 0否 1是")
    private String deleted;


    /**
     * 上传时间
     */
    @FieldName("time_stamp")
    @ApiModelProperty(value = "上传时间",  name="timeStamp")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime timeStamp;
}
