package domains import "error-code-system/errcode" func registerSys(r *errcode.Registry) { must(r, def(errcode.SysInternal, 500, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectUnknown, "内部错误", "保留 trace_id,按错误日志定位,不要对调用方暴露内部细节")) must(r, def(errcode.SysUnknownCode, 500, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectUnknown, "未登记的错误码", "按失败处理(fail-closed),并把该码补登记后再放行")) must(r, def(errcode.SysInvalidArgument, 400, errcode.SeverityWarn, errcode.RetryNever, errcode.SideEffectNone, "参数不合法", "检查请求字段与类型,修正后重新提交")) must(r, def(errcode.SysUnauthorized, 401, errcode.SeverityWarn, errcode.RetryNever, errcode.SideEffectNone, "未授权", "检查凭证是否缺失、过期或与资源不匹配")) must(r, def(errcode.SysNotFound, 404, errcode.SeverityInfo, errcode.RetryNever, errcode.SideEffectNone, "资源不存在", "确认标识是否正确,或资源是否已删除")) must(r, def(errcode.SysConflict, 409, errcode.SeverityWarn, errcode.RetryNever, errcode.SideEffectPossible, "状态冲突", "刷新当前状态后再决定是否重试,不要盲目重放")) must(r, def(errcode.SysRateLimited, 429, errcode.SeverityWarn, errcode.RetryTransient, errcode.SideEffectNone, "触发限流", "按退避重试,不要立即打满重试")) must(r, def(errcode.SysTimeout, 504, errcode.SeverityError, errcode.RetryTransient, errcode.SideEffectPossible, "操作超时", "先确认是否已产生副作用,再做有界重试")) must(r, def(errcode.SysCancelled, 499, errcode.SeverityInfo, errcode.RetryNever, errcode.SideEffectPossible, "操作已取消", "不要把取消当成成功或普通失败;需要时由调用方重新发起")) must(r, def(errcode.SysUnavailable, 503, errcode.SeverityError, errcode.RetryTransient, errcode.SideEffectNone, "依赖不可用", "确认依赖健康后退避重试")) }