package com.bs.ct.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.bs.cm.domain.CmAttach;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;

/**
 * 图库图片对象 ct_gallery_images
 *
 * @author bs
 * @date 2025-02-22
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ct_gallery_images")
@Data
public class CtGalleryImages extends BaseEntity{
    private static final long serialVersionUID = 1L;

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

    /** 目录id */

    @Excel(name = "目录id")
    @ApiModelProperty(value = "目录id")
    private Long cataId;

    /** 图片名称 */

    @Excel(name = "图片名称")
    @ApiModelProperty(value = "图片名称")
    private String imageName;

    /** 图片标题 */

    @Excel(name = "图片标题")
    @ApiModelProperty(value = "图片标题")
    private String imageTitle;

    /** 图片路径 */

    @Excel(name = "图片路径")
    @ApiModelProperty(value = "图片路径")
    private String imagePath;

    /** 图片大小 */

    @Excel(name = "图片大小")
    @ApiModelProperty(value = "图片大小")
    private BigDecimal imageSize;

    /** 图片拍摄时间 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "图片拍摄时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "图片拍摄时间")
    private Date photoTime;

    /** 图片上传时间 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "图片上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "图片上传时间")
    private Date uploadTime;

    /** 是否公开 */

    @Excel(name = "是否公开")
    @ApiModelProperty(value = "是否公开")
    private String isOpen;

    /** 图片关键字 */

    @Excel(name = "图片关键字")
    @ApiModelProperty(value = "图片关键字")
    private String keyWords;

    /** 附件id */

    @Excel(name = "附件id")
    @ApiModelProperty(value = "附件id")
    private Long fileId;

    @Excel(name = "EXIF信息")
    @ApiModelProperty(value = "EXIF信息")
    private String exifInfo;

    /** 备注 */

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /** 附件id */

    @ApiModelProperty(value = "附件")
    @TableField(exist = false)
    private List<CmAttach> file;

    @TableField(exist = false)
    private List<Long> ids;

    @TableField(exist = false)
    private Long taskTagId;

    @TableField(exist = false)
    private List<CtGalleryImagesTag> imagesTags;

    @TableField(exist = false)
    private Long feedbackId;

    /** 生成图片类型：
     * 九宫格 nineGrid
     * 四宫格 fourGrid
     * 水平合并 horizontalMerge
     * 垂直合并 verticalMerge
     * 视频 video
     * */

    @TableField(exist = false)
    private String imageType;

    /** 目录名称 */

    @TableField(exist = false)
    private String cataName;

    /** 标签名称 */

    @TableField(exist = false)
    private List<String> tagNames;

    /** 标签名称 */

    @TableField(exist = false)
    private List<String> taskTitles;

    @TableField(exist = false)
    private Integer pageNum;

    @TableField(exist = false)
    private Integer pageSize;
}
