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

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.framework.dto.ClientObject;
import com.red.circle.other.inner.enums.game.GameBurstCrystalProgressStatus;
import com.red.circle.other.inner.model.dto.activity.props.ActivityRewardPropsDTO;
import java.math.BigDecimal;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 爆水晶游戏进度情况.
 *
 * @author pengliang on 2021/7/1
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class GameBurstCrystalScheduleCO extends ClientObject {

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

  /**
   * 当前贡献.
   */
  private BigDecimal currentContribution;

  /**
   * 游戏状态.
   */
  private GameBurstCrystalProgressStatus status;

  /**
   * 游戏规则.
   */
  private GameBurstCrystalRuleCO rule;

  /**
   * 奖品信息.
   */
  private List<ActivityRewardPropsDTO> activityRewardProps;

  /**
   * 开奖用户列表.
   */
  private List<GameBurstCrystalWinnerUserProfileCO> winnerUserProfiles;

  /**
   * twoFun突破奖励
   */
  private List<ActivityRewardPropsDTO> topRewardProps;

  /**
   * twoFun幸运宝箱信息
   */
  private List<ActivityRewardPropsDTO> luckyBoxRewards;


}
