package com.qs.mp.common.enums;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONType;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.qs.mp.common.json.EnumValueDeserializer;

/**
 *
 * 用户卡券使用状态
 *
 */
@JSONType(deserializer = EnumValueDeserializer.class)
public enum UserCouponStatusEnum implements IEnum<Integer> {

  UNUSED(1, "未使用"),
  USED(2, "已使用"),
  OVERDUE(3, "已过期"),;

  private final Integer value;
  private final String desc;

  UserCouponStatusEnum(final Integer value, final String desc) {
    this.value = value;
    this.desc = desc;
  }

  @Override
  public Integer getValue() {
    return value;
  }

  /**
   * 重写toString，单个转化成json
   * @return
   */
  @Override
  public String toString() {
    JSONObject object = new JSONObject();
    object.put("value",value);
    object.put("desc", desc);
    return object.toString();
  }
}
