package com.zanxiang.game.module.sdk.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Objects;

/**
 * @author : lingfeng
 * @time : 2022-06-07
 * @description : 手机验证码类型枚举
 */
@Getter
@AllArgsConstructor
public enum SmsTypeEnum {

    /**
     * 注册登录
     */
    SMS_REG(1, "注册登录"),

    /**
     * 修改密码
     */
    SMS_MODIFY(2, "修改密码"),

    /**
     * 绑定手机
     */
    SMS_BIND(3, "绑定手机"),

    /**
     * 找回密码
     */
    SMS_FIND_PWD(4, "找回密码");

    /**
     * 类型
     */
    private final Integer type;

    /**
     * 描述
     */
    private final String describe;

    /**
     * 根据type获取枚举
     *
     * @return : 返回枚举对象
     */
    public static SmsTypeEnum getByType(Integer type) {
        if (type == null) {
            return null;
        }
        return Arrays.stream(SmsTypeEnum.values())
                .filter(e -> Objects.equals(e.getType(), type))
                .findFirst().orElse(null);
    }
}
