package com.red.circle.other.inner.asserts;

import com.red.circle.framework.dto.IResponseErrorCode;
import com.red.circle.framework.dto.ResErrorCode;

/**
 * 道具相关 范围：3100 ~ 3200.
 *
 * @author pengliang on 2023/9/19
 */
@ResErrorCode(describe = "道具相关", minCode = 3100, maxCode = 3200)
public enum PropsErrorCode implements IResponseErrorCode {

  /**
   * 用户财富等级未大于 5.
   */
  USER_WEALTH_LEVEL_NOT_ENOUGH(3100, "User wealth level not enough, not give away"),
  /**
   * 用户财富等级大于3 .
   */
  USER_NOT_OPERATION_ENOUGH(3115, "The user cannot perform this operation"),

  /**
   * 用户背包主题不可赠送.
   */
  USER_KNAPSACK_THEME_NOT_GIVE_AWAY(3101, "User knapsack theme not give away"),

  /**
   * 用户赠送的道具类型为贵族时 贵族数量大于等于2.
   */
  NOBLE_VIP_PROPS_NOT_ENOUGH(3102, "Noble VIP props not enough, not give away"),

  /**
   * 用户道具已在使用不可赠送.
   */
  USER_PROPS_IS_USEING_NOT_GIVE_AWAY(3103, "User props is useing not give away"),

  /**
   * 用户赠送道具已过期.
   */
  PROPS_OVERDUE_NOT_GIVE_AWAY(3104, "Props exceed the time limit not give away"),

  /**
   * 用户道具只能赠送一次.
   */
  USER_PROPS_ONLY_GIVEN_ONCE(3105, "User props not give away， only be given once"),

  /**
   * 商品购买失败.
   */
  BUY_FALL(3106, "Product purchase failed"),

  /**
   * 已购买过该麦位数量类型.
   */
  ROOM_MIKE_NUM_TYPE_EXIST_DONT_BUY_ERROR(3107,
      "You already own the room mike numbers, no need to re-purchase"),

  /**
   * 选择购买麦位数量类型错误.
   */
  ROOM_MIKE_NUM_TYPE_ERROR(3108, "Room mike number type  error"),

  /**
   * 已购买过该特殊麦位.
   */
  ROOM_MIKE_TYPE_EXIST_DONT_BUY_ERROR(3109,
      "You already own the room mike type, no need to re-purchase"),

  /**
   * 不可领取.
   */
  UNCLAIMABLE(3110, "Not available for collection"),

  /**
   * 道具资源为空.
   */
  PROPS_RESOURCE_IS_EMPTY(3111, "Resource is empty"),

  /**
   * 今日已开宝箱.
   */
  GAME_FRUIT_IS_OPENED(3112, "The treasure chest has been opened today"),

  /**
   * 摩天轮游戏宝箱开成功.
   */
  GAME_FRUIT_OPENED_SUCCESS(3113, "Ferris wheel game treasure box successfully opened"),

  /**
   * 摩天轮游戏开宝箱未满足.
   */
  GAME_FRUIT_OPENED_NOT_SATISFIED(3114,
      "The opening of the treasure chest in the Ferris wheel game is not satisfied"),

  /**
   * 不可购买低等级VIP
   */
  PROPS_LOW_LEVEL_ERROR(3115, "Low-level VIPs cannot be purchased"),
  ;

  private final int code;
  private final String message;

  PropsErrorCode(int code, String message) {
    this.code = code;
    this.message = message;
  }

  @Override
  public Integer getCode() {
    return this.code;
  }

  @Override
  public String getMessage() {
    return this.message;
  }

  @Override
  public String getErrorCodeName() {
    return this.name();
  }

}
