Bläddra i källkod

docs(ac20): 3111 错误码登记处补全「四义」

codes.go 是错误码的唯一登记处,原来只写了 2 种(log_add 深度>100 / update_quota 超上线),
缺了 F20 的 3 层业务上限,也缺了成环这一种。补齐为四条并写明:
① 建节点层级超业务上限 3 层(F20);② 建节点层级超结构上限 100 层;
③ 记流水上行超 100 或成环;④ 改额度超父额度。
并强调 ①② 与 ③ 虽都叫层级,但不是同一个概念(业务规则 vs 数据结构自保)。
纯注释,无行为变化。
Q 7 timmar sedan
förälder
incheckning
c3a062b760
1 ändrade filer med 7 tillägg och 2 borttagningar
  1. 7 2
      internal/academic/apperr/codes.go

+ 7 - 2
internal/academic/apperr/codes.go

@@ -39,7 +39,12 @@ const (
 	CodeGiftAmountShort = 3109
 	// CodeActivityUnavailable 活动已过期或不可用(活动 status/时间窗校验)。
 	CodeActivityUnavailable = 3110
-	// CodeDivideQuotaExceeded 分账层级超限或额度超上限(log_add 深度>100 / update_quota 超上线)。
+	// CodeDivideQuotaExceeded 分账层级超限或额度超上限,**同一个码四种判据**(前端按 message 区分):
+	//  ① 建节点时层级超**业务**上限 3 层(divide_into_add,F20 硬规则,2026-11-10);
+	//  ② 建节点时层级超**结构**上限 100 层(divide_into_add,防 BFS 不终止/爆栈,脏数据才触发);
+	//  ③ 记流水时上行链路超 100 层或成环(log_add 的 BFS 兜底);
+	//  ④ 改额度时新额度 > 父节点额度(update_quota 超上线)。
+	// ①② 与 ③ 都叫"层级",但不是同一个概念(业务规则 vs 数据结构自保),文案不得混用。
 	CodeDivideQuotaExceeded = 3111
 	// CodePayrollPlanMissing 课酬方案未配置(get_teacher_detail 无可用方案)。
 	CodePayrollPlanMissing = 3112
@@ -89,7 +94,7 @@ var (
 	ErrGiftAmountShort = infraerrors.New(CodeGiftAmountShort, "可用赠送金额不足")
 	// ErrActivityUnavailable 活动已过期或不可用(3110)。
 	ErrActivityUnavailable = infraerrors.New(CodeActivityUnavailable, "活动已过期或不可用")
-	// ErrDivideQuotaExceeded 分账层级超限或额度超上限(3111)。
+	// ErrDivideQuotaExceeded 分账层级超限或额度超上限(3111;四种判据见 CodeDivideQuotaExceeded)。
 	ErrDivideQuotaExceeded = infraerrors.New(CodeDivideQuotaExceeded, "分账层级超限或额度超上限")
 	// ErrPayrollPlanMissing 课酬方案未配置(3112)。
 	ErrPayrollPlanMissing = infraerrors.New(CodePayrollPlanMissing, "课酬方案未配置")