package com.red.circle.common.business.core.level;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @author pengliang on 2021/1/16
 */
@Data
@Accessors(chain = true)
public class UserLevelExperience implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 当前等级.
   */
  private Integer level;

  /**
   * 当前经验.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long thatExperience;

  /**
   * 当前经验-格式化.
   */
  private String thatExperienceFormat;

  /**
   * 下一个等级所需要的的经验.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long nextExperience;

  /**
   * 下一个等级所需要的的经验-格式化.
   */
  private String nextExperienceFormat;
}
