package com.usky.website.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 官网_栏目管理
 * </p>
 *
 * @author ya
 * @since 2022-08-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SiteCategory implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * 父级ID
     */
    private Integer pid;

    /**
     * 栏目名称
     */
    private String categoryName;

    /**
     * 栏目简称
     */
    private String sname;

    /**
     * 是否新栏目;0:否 1:是
     */
    @TableField("isNew")
    private Integer isNew;

    /**
     * 页面模板
     */
    private String tpl;

    /**
     * 栏目图片;
     */
    @TableField("imagePath")
    private String imagePath;

    /**
     * SEO关键字;
     */
    private String metakeywords;

    /**
     * SEO描述;
     */
    private String metadescription;

    /**
     * 创建时间;
     */
    private Date createdate;

    /**
     * 修改时间;
     */
    private Date modifydate;

    /**
     * 栏目排序
     */
    private Integer sortindex;

    /**
     * 状态;0:关闭 1:开启
     */
    private Integer status;

    /**
     * 类型;1:图片 2:视频
     */
    private Integer modelType;

    /**
     * 栏目样式：1、样式一 2、样式二 3、样式三 4、样式四 5、样式五
     */
    private Integer categoryStyle;

    /**
     * 标题
     */
    private String title;

    /**
     * 子级
     */
    @TableField(exist = false)
    private List<SiteCategory> children;
}
