package org.jeecg.modules.oroqen.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 非遗项目
 * @Author: jeecg-boot
 * @Date: 2024-01-01
 * @Version: V1.0
 */
@Data
@TableName("oroqen_heritage_project")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description = "非遗项目")
public class OroqenHeritageProject implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "主键")
    private String id;
    
    /**创建人*/
    @Schema(description = "创建人")
    private String createBy;
    
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建日期")
    private Date createTime;
    
    /**更新人*/
    @Schema(description = "更新人")
    private String updateBy;
    
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新时间")
    private Date updateTime;
    
    /**所属部门*/
    @Schema(description = "所属部门")
    private String sysOrgCode;
    
    /**项目名称*/
    @Excel(name = "项目名称", width = 15)
    @Schema(description = "项目名称")
    private String projectName;
    
    /**项目编码*/
    @Excel(name = "项目编码", width = 15)
    @Schema(description = "项目编码")
    private String projectCode;
    
    /**项目类别*/
    @Excel(name = "项目类别", width = 15)
    @Schema(description = "项目类别")
    private String category;
    
    /**非遗级别*/
    @Excel(name = "非遗级别", width = 15)
    @Schema(description = "非遗级别")
    private String heritageLevel;
    
    /**批准年份*/
    @Excel(name = "批准年份", width = 15)
    @Schema(description = "批准年份")
    private Integer approvalYear;
    
    /**批准文号*/
    @Excel(name = "批准文号", width = 15)
    @Schema(description = "批准文号")
    private String approvalNumber;
    
    /**项目描述*/
    @Excel(name = "项目描述", width = 15)
    @Schema(description = "项目描述")
    private String description;
    
    /**详细描述*/
    @Excel(name = "详细描述", width = 15)
    @Schema(description = "详细描述")
    private String fullDescription;
    
    /**历史渊源*/
    @Excel(name = "历史渊源", width = 15)
    @Schema(description = "历史渊源")
    private String history;
    
    /**技艺特点*/
    @Excel(name = "技艺特点", width = 15)
    @Schema(description = "技艺特点")
    private String features;
    
    /**传承价值*/
    @Excel(name = "传承价值", width = 15)
    @Schema(description = "传承价值")
    private String value;
    
    /**封面图片*/
    @Excel(name = "封面图片", width = 15)
    @Schema(description = "封面图片")
    private String coverImage;
    
    /**图片集*/
    @Excel(name = "图片集", width = 15)
    @Schema(description = "图片集")
    private String images;
    
    /**视频链接*/
    @Excel(name = "视频链接", width = 15)
    @Schema(description = "视频链接")
    private String videoUrl;
    
    /**音频链接*/
    @Excel(name = "音频链接", width = 15)
    @Schema(description = "音频链接")
    private String audioUrl;
    
    /**标签*/
    @Excel(name = "标签", width = 15)
    @Schema(description = "标签")
    private String tags;
    
    /**关联传承人ID*/
    @Excel(name = "关联传承人ID", width = 15)
    @Schema(description = "关联传承人ID")
    private String inheritorIds;
    
    /**保护单位*/
    @Excel(name = "保护单位", width = 15)
    @Schema(description = "保护单位")
    private String protectionUnit;
    
    /**保护措施*/
    @Excel(name = "保护措施", width = 15)
    @Schema(description = "保护措施")
    private String protectionMeasures;
    
    /**保护现状*/
    @Excel(name = "保护现状", width = 15)
    @Schema(description = "保护现状")
    private String currentStatus;
    
    /**是否推荐*/
    @Excel(name = "是否推荐", width = 15)
    @Schema(description = "是否推荐")
    private Integer isRecommended;
    
    /**浏览次数*/
    @Excel(name = "浏览次数", width = 15)
    @Schema(description = "浏览次数")
    private Integer viewCount;
    
    /**点赞次数*/
    @Excel(name = "点赞次数", width = 15)
    @Schema(description = "点赞次数")
    private Integer likeCount;
    
    /**状态*/
    @Excel(name = "状态", width = 15)
    @Schema(description = "状态")
    private Integer status;
}