<?php

namespace App\Enums\Common;

use BenSampo\Enum\Contracts\LocalizedEnum;
use BenSampo\Enum\Enum;

/**
 * 状态码类
 * @method static static SUCCESS()
 * @method static static USER_ERROR()
 * @method static static USER_REGISTER_ERROE()
 * @method static static USER_LOGIN_ERROE()
 * @method static static USER_PERMISSION_ERROE()
 * @method static static USER_PARAMS_ERROE()
 * @method static static USER_UPLOAD_ERROE()
 * @method static static USER_VERSION_ERROE()
 * @method static static SYSTEM_ERROR()
 * @method static static SYSTEM_TIMEOUT_ERROR()
 * @method static static SERVER_ERROR()
 * @method static static SERVER_MYSQL_ERROR()
 * @method static static SERVER_REDIS_ERROR()
 * @method static static USER_MODEL_NOTFOUND_ERROE()
 */
final class Code extends Enum implements LocalizedEnum
{
    //成功
    const SUCCESS = "00000";

    //用户行为大大类
    const USER_ERROR = "A0001";
    //用户注册错误大类
    const USER_REGISTER_ERROE = "A0100";
    //用户登陆错误大类
    const USER_LOGIN_ERROE = "A0200";

    //用户权限错误大类
    const USER_PERMISSION_ERROE = 'A0300';

    //用户请求参数错误大类
    const USER_PARAMS_ERROE = 'A0400';
    //模型资源未找到
    const USER_MODEL_NOTFOUND_ERROE = 'A0402';

    //用户上传异常大类
    const USER_UPLOAD_ERROE = 'A0500';

    //用户版本异常大类
    const USER_VERSION_ERROE = 'A0600';

    //用户不安全操作大类
    const USER_UNSAFE_OPERATION = 'A0700';
    //用户重复快速点击错误
    const USER_REPEAT_QUIT_CALL = 'A0701';

    //系统出错大大类
    const SYSTEM_ERROR = "B0001";
    //系统执行超时大类
    const SYSTEM_TIMEOUT_ERROR = "B0100";

    //调用外部服务出错
    const SERVER_ERROR = "C0001";
    //mysql服务出错
    const SERVER_MYSQL_ERROR = "C0100";
    //redis服务出错
    const SERVER_REDIS_ERROR = "C0200";


}