package com.moka.gdtauto.entity;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

/**
 * OSS文件管理实体类
 *
 * @author moka
 * @since 2026-02-26
 */
@Data
@TableName("oss_file")
public class OssFile {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 原始文件名
     */
    private String originalFileName;

    /**
     * 文件类型(image/video/document等)
     */
    private String fileType;

    /**
     * 业务分类(1:创意 2:品牌形象)
     */
    private Integer businessType;

    /**
     * 文件大小(字节)
     */
    private Long fileSize;

    /**
     * 文件URL
     */
    private String fileUrl;

    private String fileMd5;
    /**
     * 审核通过数
     */
    private Integer normalCnt;
    /**
     * 审核拒绝数
     */
    private Integer deniedCnt;

    /**
     * OSS对象Key
     */
    private String objectKey;

    /**
     * 存储文件夹路径
     */
    private String folder;

    /**
     * 文件扩展名
     */
    private String fileExtension;

    /**
     * 图片ID
     */
    private String assetId;
    /**
     * 图片宽度
     */
    private Long width;
    /**
     * 图片高度
     */
    private Long height;
    /**
     * 图片大小
     */
    private Long imageFileSize;
    /**
     * 图片类型
     */
    private String imageType;
    /**
     * 图片签名
     */
    private String imageSignature;
    /**
     * 外部图片ID
     */
    private String outerImageId;
    /**
     * 预览地址
     */
    private String previewUrl;
    /**
     * 图片描述
     */
    private String description;
    /**
     * 封面图ID
     */
    private Long coverImageId;

    /**
     * 创建人ID
     */
    private Long createdBy;

    /**
     * 创建人姓名
     */
    private String createdByName;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;
}
