diff --git a/changelogs/2026-03/26_1600_batch_staff_candidate.md b/changelogs/2026-03/26_1600_batch_staff_candidate.md new file mode 100644 index 0000000..6965c49 --- /dev/null +++ b/changelogs/2026-03/26_1600_batch_staff_candidate.md @@ -0,0 +1,23 @@ +# 团期选人限制在产品备选池中 + +**日期**: 2026-03-26 +**服务**: hl-product-service + +--- + +## 变更 + +团期分配人员时,后端校验所选人员必须在产品人员配置的备选池(`staffIds`)中。 + +**规则**: +- 产品配了备选人员(`staffIds` 不为空)→ 只能从备选池中选,选了池外的人报错 +- 产品没配备选人员 → 不限制,可选任意可用人员(兼容旧数据) + +**报错示例**:`"人员ID 1001 不在产品LEADER备选人员中"` + +## 前端改造 + +团期人员分配弹窗的人员下拉框: +1. 先查产品人员配置 `GET /admin/product/{productId}/staff-config`,取对应角色的 `staffIds` +2. 如果 `staffIds` 不为空 → 下拉只显示备选人员(调 `GET /internal/staff/batch-basic?staffIds=xxx` 查名字) +3. 如果 `staffIds` 为空 → 下拉显示该类型所有可用人员(调 `GET /internal/staff/list-available?staffType=LEADER`)