package com.red.circle.other.app.dto.clientobject.game;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.framework.dto.ClientObject;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 幸运礼物中高倍速奖励消息模型.
 *
 * @author pengshigang on 2023/03/23
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@JsonIgnoreProperties(ignoreUnknown = true)
public class GameLuckyGiftMsgCO extends ClientObject {

  /**
   * 系统.
   */
  private String sysOrigin;

  /**
   * 房间ID.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long roomId;

  /**
   * 房间账号.
   */
  private String roomAccount;

  /**
   * 送礼物人用户id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long sendUserId;

  /**
   * 账号
   */
  private String account;

  /**
   * 昵称.
   */
  private String nickname;

  /**
   * 用户头像.
   */
  private String userAvatar;

  /**
   * 头像框封面.
   */
  private String avatarFrameCover;

  /**
   * 头像框资源链接.
   */
  private String avatarFrameSvg;

  /**
   * 倍数.
   */
  private Integer multiple;

  /**
   * 中奖倍数类型.
   */
  private String multipleType;

  /**
   * 中奖数量
   */
  private Long awardAmount;

  /**
   * 礼物ID.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long giftId;

  /**
   * 礼物图标.
   */
  private String giftCover;

  /**
   * 房主所在区域code.
   */
  private String regionCode;

  /**
   * 全局飘窗.
   */
  private Boolean globalNews;

  /**
   * 礼物数量.
   */
  private Integer giftQuantity;

  /**
   * 接受人用户id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long acceptUserId;

  /**
   * 接受人昵称.
   */
  private String acceptNickname;

  /**
   * 余额.
   */
  private BigDecimal balance;

  /**
   * 礼物价值/糖果.
   */
  private BigDecimal giftCandy;

}
