package com.qs.mp.admin.domain.vo;

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.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

import com.qs.mp.common.enums.AwardsLabelEnum;
import com.qs.mp.common.enums.CouponDiscountTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @describe 盲票盒奖项对应的奖品
 * @auther quanshu
 * @create 2022-03-02 12:25:55
 */
@ApiModel("盲票盒奖项对应的奖品VO")
@Data
public class TicketAwardsPrizeVO {

  /**
   * 奖项ID
   */
  @ApiModelProperty("奖项ID")
  private String awardsId;

  /**
   * 盲票组ID
   */
  @ApiModelProperty("盲票组ID")
  private String boxId;

  /**
   * 奖项名
   */
  @ApiModelProperty("奖项名")
  private String name;

  @ApiModelProperty("奖级标签")
  private String awardsLabel;

  @ApiModelProperty("奖级标签图片")
  private String awardsLabelPicUrl;

  /**
   * 奖项顺序
   */
  @ApiModelProperty("奖项顺序")
  private String sort;

  /**
   * 奖项数量
   */
  @ApiModelProperty("奖项数量")
  private Integer quantity;

  /**
   * 奖项描述
   */
  @ApiModelProperty("奖项描述")
  private String memo;

  /**
   * 中奖率
   */
  @ApiModelProperty("中奖率")
  private BigDecimal hitRate;

  /******** 奖品 ********/
  /**
   * 奖品ID
   */
  @ApiModelProperty("奖品id")
  private String prizeId;

  /**
   * 奖品ID（GOODS_ID或COUPON_ID)
   */
  @ApiModelProperty("奖品ID（GOODS_ID或COUPON_ID)")
  private String refId;

  /**
   * 奖品图片
   */
  @ApiModelProperty("奖品图片")
  private String picUrl;

  /**
   * 奖品名称
   */
  @ApiModelProperty("奖品名称")
  private String title;

  /**
   * 奖品类型 1 实物商品 2优惠券 3平台代币
   */
  @ApiModelProperty("奖品类型 1 实物商品 2优惠券 3平台代币")
  private String prizeType;

  /**
   * 奖品价值
   */
  @ApiModelProperty("奖品价值")
  private Integer value;

  /**
   * 排序权重
   */
  @ApiModelProperty("排序权重")
  private Integer sortWeight;

  public String getAwardsLabelPicUrl() {
    AwardsLabelEnum awardsLabelEnum = AwardsLabelEnum.getByValue(this.awardsLabel);
    if (Objects.nonNull(awardsLabelEnum)) {
      return awardsLabelEnum.getPicUrl();
    }
    return "";
  }
}
