package com.bcrjl.miwifi.common.enums;

/**
 * 全局状态枚举
 *
 * @author yanqs
 */
public enum GlobalEnumCode {
    // 公共
    /* 成功状态码 */
    SUCCESS(200, "请求成功"),
    // 失败
    FAIL(400, "请求失败"),
    // 未认证（签名错误）
    UNAUTHORIZED(401, "未认证（签名错误）"),
    // 接口不存在
    NOT_FOUND(404, "接口不存在"),
    // 服务器内部错误
    INTERNAL_SERVER_ERROR(500, "服务器内部错误"),
    /* 业务错误：30001-39999 */
    SPECIFIED_QUESTIONED_USER_NOT_EXIST(30001, "某业务出现问题"),

    /* 系统错误：40001-49999 */
    SYSTEM_INNER_ERROR(40001, "系统繁忙，请稍后重试"),

    /* 数据错误：50001-599999 */
    RESULE_DATA_NONE(50001, "数据未找到"),
    DATA_IS_WRONG(50002, "数据有误"),
    DATA_ALREADY_EXISTED(50003, "数据已存在"),
    UN_VALID_TIMESTAMP(50004, "时间戳过期"),
    UN_SIGN(50005, "未传递签名"),
    UN_TOKEN(50006, "token未传递"),
    SIGN_ERROR(50007, "sign签名不正确"),

    /* 接口错误：60001-69999 */
    INTERFACE_INNER_INVOKE_ERROR(60001, "内部系统接口调用异常"),

    INTERFACE_OUTTER_INVOKE_ERROR(60002, "外部系统接口调用异常"),

    INTERFACE_FORBID_VISIT(60003, "该接口禁止访问"),

    INTERFACE_ADDRESS_INVALID(60004, "接口地址无效"),

    INTERFACE_REQUEST_TIMEOUT(60005, "接口请求超时"),

    INTERFACE_EXCEED_LOAD(60006, "接口负载过高"),

    /* 权限错误：70001-79999 */
    PERMISSION_NO_ACCESS(40401, "无访问权限");

    private int code;

    private String msg;

    GlobalEnumCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public static GlobalEnumCode valueOf(int code) {
        for (GlobalEnumCode temp : GlobalEnumCode.values()) {
            if (temp.getCode() == code) {
                return temp;
            }
        }
        return null;
    }
}
