package com.red.circle.console.infra.database.rds.entity.app.vip;

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 java.io.Serial;
import java.io.Serializable;
import java.sql.Timestamp;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 用户VIP当前状态.
 */
@Data
@Accessors(chain = true)
@TableName("user_vip_state")
public class UserVipState implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

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

  @TableField("sys_origin")
  private String sysOrigin;

  @TableField("user_id")
  private Long userId;

  @TableField("level")
  private Integer level;

  @TableField("level_code")
  private String levelCode;

  @TableField("display_name")
  private String displayName;

  @TableField("status")
  private String status;

  @TableField("start_at")
  private Timestamp startAt;

  @TableField("expire_at")
  private Timestamp expireAt;

  @TableField("badge_resource_id")
  private Long badgeResourceId;

  @TableField("badge_name")
  private String badgeName;

  @TableField("badge_cover")
  private String badgeCover;

  @TableField("badge_url")
  private String badgeUrl;

  @TableField("avatar_frame_resource_id")
  private Long avatarFrameResourceId;

  @TableField("avatar_frame_name")
  private String avatarFrameName;

  @TableField("avatar_frame_cover")
  private String avatarFrameCover;

  @TableField("avatar_frame_url")
  private String avatarFrameUrl;

  @TableField("entry_effect_resource_id")
  private Long entryEffectResourceId;

  @TableField("entry_effect_name")
  private String entryEffectName;

  @TableField("entry_effect_cover")
  private String entryEffectCover;

  @TableField("entry_effect_url")
  private String entryEffectUrl;

  @TableField("chat_bubble_resource_id")
  private Long chatBubbleResourceId;

  @TableField("chat_bubble_name")
  private String chatBubbleName;

  @TableField("chat_bubble_cover")
  private String chatBubbleCover;

  @TableField("chat_bubble_url")
  private String chatBubbleUrl;

  @TableField("float_picture_resource_id")
  private Long floatPictureResourceId;

  @TableField("float_picture_name")
  private String floatPictureName;

  @TableField("float_picture_cover")
  private String floatPictureCover;

  @TableField("float_picture_url")
  private String floatPictureUrl;

  @TableField("create_time")
  private Timestamp createTime;

  @TableField("update_time")
  private Timestamp updateTime;
}
