3 次代码提交
作者 SHA1 备注 提交日期
Mimingguang 338f6af9ed chore(changelog): #8150 前端核验 not_required 补证(hl-ui@6bf97829e)
changelog-filename-gate / validate (push) Failing after 2s
2026-09-22 21:51:31 +08:00
API Changelog Bot和Claude Opus 5 61bfe0f9a3 docs(order-v3): #8150 changelog 按接口类模板骨架补齐入参/响应示例/业务边界
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 19:30:44 +08:00
API Changelog Bot和Claude Opus 5 e2828a3e67 docs: 团期 staff 保存 scopeRoles 元素级非空校验交接件(#8150)
覆盖 bfc10966e(PR #8177)对 BatchStaffConfigReqVO.scopeRoles 加的元素级
@NotBlank,两条对外可见变化:

1. [null] 由「HTTP 200 静默空操作」改为 code:400。旧行为是静默失败——
   @Pattern 对 null 恒为 true 让它穿过校验层,整位守卫 touched 恒 false
   不抛,删除窗口 {null} 命中 0 行、插入集合为空,于是库里一行没动却返 200。
2. [""] / ["  "] 的 message 由一条变两条以 "; " 拼接。两条约束并列触发、
   不是后者替换前者;拼接顺序不保证,已在正文写明前端不得按顺序或按精确
   相等解析 message。

证据:网关活体实测四组(含一组阴性对照,证明 400 不是端点无差别返回),
部署三条独立判据(merge-base 祖先关系 + jar mtime + 活体行为)。

覆盖边界:本份只覆盖 scopeRoles 字段的入参校验契约。

顺带记一处已知缺口:Swagger 请求侧 staffList[].staffRole 的取值域文案只列
了 5 个角色,实际 @Pattern 放行 8 个(后 3 个由 #7079 引入),正文第六.5 节
以 STAFF_ROLE_PATTERN 常量为准写全。

Refs #8150

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 19:13:34 +08:00