package com.vetti.hotake.domain;


import com.vetti.common.annotation.Excel;
import com.vetti.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 文件管理对象 command_sys_file
 *
 * @author ID
 * @date 2025-09-06
 */
@Data
@Accessors(chain = true)
public class HotakeSysFile extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("ID")
    private Long id;

    /** 存储minio中桶名字 */
    @ApiModelProperty("存储minio中桶名字")
    @Excel(name = "存储minio中桶名字")
    private String minioBucketName;

    /** CODE */
    @ApiModelProperty("CODE")
    @Excel(name = "CODE")
    private String code;

    /** 文件名称 */
    @ApiModelProperty("文件名称")
    @Excel(name = "文件名称")
    private String fileName;

    /** 文件类型（如：image/jpeg, application/pdf等） */
    @ApiModelProperty("文件类型（如：image/jpeg, application/pdf等）")
    @Excel(name = "文件类型", readConverterExp = "如=：image/jpeg,,a=pplication/pdf等")
    private String fileType;

    /** 文件大小，单位字节 */
    @ApiModelProperty("文件大小，单位字节")
    @Excel(name = "文件大小，单位字节")
    private Long fileSize;

    @ApiModelProperty("计算转换后的文件大小")
    private String fileSizeShow;

    /** 文件存储路径（物理路径或云存储URL） */
    @ApiModelProperty("文件存储路径（物理路径或云存储URL）")
    @Excel(name = "文件存储路径", readConverterExp = "物理路径或云存储URL")
    private String storagePath;

    /** 文件MD5值，用于校验文件完整性和去重 */
    @ApiModelProperty("文件MD5值，用于校验文件完整性和去重")
    @Excel(name = "文件MD5值，用于校验文件完整性和去重")
    private String fileMd5;

    /** 上传平台：1-PC管理平台，2-APP端 */
    @ApiModelProperty("上传平台：1-PC管理平台，2-APP端")
    @Excel(name = "上传平台：1-PC管理平台，2-APP端")
    private Integer uploadPlatform;

    /** 是否可用（1可用，2不可用） */
    @ApiModelProperty("是否可用（1可用，2不可用）")
    @Excel(name = "是否可用", readConverterExp = "1=可用，2不可用")
    private Integer available;

}
