package gatecode

// ErrCode 表示错误码
type ErrCode int

//go:generate stringer -type ErrCode -linecomment

// 定义错误码 *代码后错误注释,即返回用户的错误信息
const (
	// GLOBAL_ERR_NIL 常用全局异常定义
	GLOBAL_ERR_NIL                          ErrCode = 1000 + iota // global OK
	GLOBAL_ERR_NOTLOGIN                                           // 无用户身份
	GLOBAL_ERR_NOENT_SELECT                                       // 无选择企业
	GLOBAL_ERR_NOPOWER                                            // 没有权限
	GLOBAL_ERR_UNFINISH                                           // 正在开发中
	GLOBAL_ERR_ENTACCOUNT_STATUS                                  // 企业账户已被冻结
	GLOBAL_ERR_ENTACCOUNT_AUTH_NOT                                // 企业未认证
	GLOBAL_ERR_ENTACCOUNT_AUTH_AWAIT                              // 企业认证待审核
	GLOBAL_ERR_ENTACCOUNT_AUTH_NOTPASS                            // 企业认证未通过
	GLOBAL_ERR_ENTACCOUNT_AUTH_EXPIRED                            // 企业认证已过期
	GLOBAL_ERR_RESOURCE_POWERCODE_ERR                             // 无效资源code
	GLOBAL_ERR_RESOURCE_PORWE_FAIL                                // 权限校验失败
	GLOBAL_ERR_RESOURCE_PORWE_EXPIRED                             // 权益已过期
	GLOBAL_ERR_RESOURCE_PORWE_NOTENOUGH                           // 权益余额不足
	GLOBAL_ERR_RESOURCE_PORWE_NOTHAS                              // 没有权限
	GLOBAL_ERR_RESOURCE_PORWE_RECHARGE                            // 资源充值异常
	GLOBAL_ERR_RESOURCE_PORWE_RECHARGE_FULL                       // 资源充值已达上限
	GLOBAL_ERR_CONFIG_FAIL                                        // 配置异常
)
const (
	// GATEWAY_ERR_NIL 代理网关错误定义
	GATEWAY_ERR_NIL                ErrCode = 2000 + iota // gateway ok
	GATEWAY_MODULE_UNDEFINED                             // 未知节点
	GATEWAY_MODULE_SERVER_ERR                            // 节点无可用服务
	GATEWAY_ROUTER_NOTFIND                               // 未注册路由地址
	GATEWAY_ROUTER_UPHOLD                                // 接口维护中
	GATEWAY_REGISTED_URL_ERR                             // 服务地址异常
	GATEWAY_PROXY_ERR                                    // 服务异常
	GATEWAY_RPC_USERCENTER_ERR                           // 用户中心服务异常
	GATEWAY_RPC_RESOURCECENTER_ERR                       // 资源中心服务异常
	GATEWAY_HTML_RENDER_ERR                              // 页面渲染异常
)
const (
	// SERVER_ERR_NIL 服务接口错误定义
	SERVER_ERR_NIL           ErrCode = 3000 + iota // server ok
	SERVER_DETAIL_TIMEOUT                          // 接口超时
	SERVER_DEDUCT_PARAM_LACK                       //扣减异常
)
const (
	// OTHER_ERR_NIL 未捕获的异常
	OTHER_ERR_NIL       ErrCode = 4000 + iota // server ok
	OTHER_ERR_UNDEFINED                       // 未知异常
	OTHER_ERR_OFTEN                           //请求频繁
)

//使用
// NewErrorWithCode(GATEWAY_MODULE_UNDEFINED, "未找到可用服务")
