package com.red.circle.other.infra.database.rds.entity.sys;

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 com.red.circle.framework.mybatis.entity.TimestampBaseEntity;
import java.sql.Timestamp;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.data.mongodb.core.mapping.Field;

/**
 * <p>
 * 系统公告通知消息.
 * </p>
 *
 * @author pengliang
 * @since 2021-03-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_notice_message")
public class NoticeMessage extends TimestampBaseEntity {

  private static final long serialVersionUID = 1L;

  /**
   * 主键标识.
   */
  @TableId(value = "id", type = IdType.ASSIGN_ID)
  private Long id;

  /**
   * 系统来源.
   */
  @TableField("sys_origin")
  private String sysOrigin;

  /**
   * 标题.
   */
  @TableField("title")
  private String title;


  /**
   * 公告类型：notification-通知，activity-活动.
   */
  @TableField("type")
  private String type;

  /**
   * 封面.
   */
  @TableField("cover")
  private String cover;

  /**
   * 描述.
   */
  @TableField("description")
  private String description;

  /**
   * 链接.
   */
  @TableField("link")
  private String link;

  /**
   * 0.下架 1.上架.
   */
  @TableField("shelf_status")
  private Boolean shelfStatus;

  /**
   * 0.未发布 1.已发布.
   */
  @TableField("is_announcement")
  private Boolean announcement;

  /**
   * 发布时间.
   */
  @TableField("announcement_time")
  private Timestamp announcementTime;
}
