package com.dji.sample.media.model;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author sean
 * @version 0.2
 * @date 2021/12/9
 */
@TableName(value = "media_file")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MediaFileEntity implements Serializable {

    @TableId(type = IdType.AUTO)
    private Integer id;

    @TableField("file_id")
    private String fileId;

    @TableField("file_name")
    private String fileName;

    @TableField("file_path")
    private String filePath;

    @TableField("workspace_id")
    private String workspaceId;

    @TableField("fingerprint")
    private String fingerprint;

    @TableField("tinny_fingerprint")
    private String tinnyFingerprint;

    @TableField("object_key")
    private String objectKey;

    @TableField("sub_file_type")
    private Integer subFileType;

    @TableField("is_original")
    private Boolean isOriginal;

    @TableField("drone")
    private String drone;

    @TableField("payload")
    private String payload;

    @TableField("job_id")
    private String jobId;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Long createTime;

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;

    @TableField("dir_id")
    private Integer dirId;

    @TableField("wayline_name")
    private String waylineName;

    @TableField("size")
    private Long size;

    @TableField("longitude")
    private BigDecimal longitude;

    @TableField("latitude")
    private BigDecimal latitude;

    @TableField("image_width")
    private Integer imageWidth;

    @TableField("image_height")
    private Integer imageHeight;

    @TableField("absolute_altitude")
    private BigDecimal absoluteAltitude;

    @TableField("gimbal_yaw_degree")
    private BigDecimal gimbalYawDegree;

    @TableField("relative_altitude")
    private BigDecimal relativeAltitude;

    @TableField("task_name")
    private String taskName;

    @TableField("source_from")
    private String sourceFrom;

    @TableField("picture_time")
    private Long pictureTime;

    @TableField("x_resolution")
    private Integer xResolution;

    @TableField("y_resolution")
    private Integer yResolution;

    @TableField("longitude_ref")
    private String longitudeRef;

    @TableField("latitude_ref")
    private String latitudeRef;

    @TableField("media_type")
    private String mediaType;

    @TableField("picture_type")
    private String pictureType;

    @TableField("duration_seconds")
    private Integer durationSeconds;

    @TableField(value = "element_id")
    private String elementId;

}

