package com.sundot.airport.exam.common;

public enum CheckExceptionEnum implements AbstractBaseExceptionEnum {

    /**
     * 手机号非空
     */
    LOGIN_PHONE_NULL(500, "手机号不可为空"),

    /**
     * token非空验证
     */
    TOKEN_NULL(500, "token不可为空"),

    /**
     * 用户信息异常
     */
    USER_ERROR(500, "用户未登录"),

    /**
     * 用户标签信息异常
     */
    USER_TAG_ERROR(500, "用户标签信息异常"),

    /**
     * 标签菜单信息异常
     */
    TAG_MENU_ERROR(500, "标签菜单信息异常"),

    /**
     * 标签信息异常
     */
    TAG_ERROR(500, "标签信息异常"),

    /**
     * 权限信息异常
     */
    PERMISSION_ERROR(500, "权限信息异常"),

    /**
     * 手机号格式
     */
    LOGIN_PHONE_ERROR(500, "手机号格式不正确"),

    /**
     * 请求方式不支持
     */
    METHOD_NOT_SUPPORTED(500, "请求方式不支持"),

    /**
     * 请求消息体MediaType不支持
     */
    MEDIA_TYPE_SUPPORTED(500, "请求消息体MediaType不支持"),

    /**
     * 请求所需参数缺失
     */
    REQUIRED_PARAMETER_NOT_PRESENT(500, "请求所需参数缺失"),

    /**
     * 请求消息体缺失或不正确
     */
    REQUIRED_REQUEST_BODY_IS_MISSING(500, "请求消息体缺失或不正确"),
    ;

    private final Integer code;

    private final String message;

    CheckExceptionEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 获取异常的状态码
     *
     * @return Integer
     */
    @Override
    public Integer getCode() {
        return code;
    }

    /**
     * 获取异常的提示信息
     *
     * @return String
     */
    @Override
    public String getMessage() {
        return message;
    }
}
