package com.snack.server.module.notice.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
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 lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 系统公告
 *
 * 对应数据库表：notice
 */
@Data
@TableName("notice")
public class Notice implements Serializable {

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

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

    /** 公告内容（富文本 HTML） */
    private String content;

    /** 公告类型：0-普通 1-重要 2-活动 */
    private Integer type;

    /** 是否置顶：0-否 1-是 */
    private Integer isTop;

    /** 状态：0-下线 1-上线 */
    private Integer status;

    /** 生效时间 */
    private LocalDateTime startTime;

    /** 失效时间 */
    private LocalDateTime endTime;

    /** 浏览量 */
    private Integer viewCount;

    /** 发布人（管理员 ID） */
    private Long publisherId;

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
