5.3 KiB
5.3 KiB
schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
| schema | ticket | title | consumer | author | change_type | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 7942 | 团期看板 keyword 支持按期号「第N期」精确搜索(无字段变更) | admin | jw(GIT) | 修复 | deployed | verified | not_required | 团期看板三个入口(分页列表 GET /v3/admin/order/group-batch、统计条 /summary、导出 /export)的 keyword 现在支持按期号搜索:输入「第3期」「3期」「第3」都能精确命中 batchLabel=3 那一期;原有的 batchNo / batchName 包含匹配逐字不变,非期号关键词结果与改前一致。没有新增、修改、删除任何端点,请求与响应字段全不变,故 change_type 取「修复」(同 20_7539 先例)。前端不需要改代码即可受益——搜索框本来就标着「期号 / 名称」,此前照着输入恒零命中。后端已合并 dev-v3(915c01df5)并部署 TEST,网关三入口实测通过(工单 #7942)。前端实证维持 not_required(hl-ui v2.1,2026-09-20):batch/index.vue 搜索框 placeholder「期号 / 名称」先于本修复存在,keyword 原样透传 group-batch / summary / export 三入口,后端部署后即受益,零改动。 | 2026-09-20 | dev-v3 |
order-v3: 团期看板 keyword 支持按期号「第N期」精确搜索
服务: hl-order-service-v3 (端口 8086) PR: #7950 Issue: #7942 日期: 2026-09-20 影响范围: 管理后台「团期订单」看板的搜索框(分页列表 / 统计条 / 导出三个入口)
⚠️ 关键变化
- 本单没有接口结构变化:没有新增、修改、删除端点,请求参数与响应字段全部不变。
keyword多认一种写法:界面把班期显示成「第{batchLabel}期」、搜索框标注「期号 / 名称」,此前照着输入「第3期」恒零命中;现在能精确命中期号为 3 的那一期。- 原有匹配不动:
batchNo/batchName的包含匹配逐字不变,非期号关键词(如「10月8日」)结果与改前完全一致。 - 前端不需要改代码:搜索框、入参都没变,部署后直接生效。
一、行为说明
| 输入 | 改前 | 改后 |
|---|---|---|
第3期 |
0 条 | 命中期号为 3 的那一期 |
3期、第3、第 3 期(带空格) |
0 条 | 同上 |
第1期 |
0 条 | 只命中第 1 期,不连带第 10、11、21 期 |
3 |
按 batchNo / batchName 包含匹配 |
逐字不变 |
10月8日、999490 等非期号 |
按包含匹配 | 逐字不变 |
期号的识别规则:关键词去空白后,去掉一层前缀「第」和一层后缀「期」,剩下是纯数字(长度 ≤ 9)就当期号;否则按原来的包含匹配走。
精确匹配而不是模糊匹配:期号用等值比较,所以「第1期」不会连带命中第 10、11、21 期。
二、生效范围
三个入口同一套口径(口径写在一处共享件里,避免出现「统计条搜得到、列表搜不到」):
| 入口 | 路径 |
|---|---|
| 团期分页列表 | GET /v3/admin/order/group-batch |
| 团期看板统计条 | GET /v3/admin/order/group-batch/summary |
| 团期列表导出 | GET /v3/admin/order/group-batch/export |
带 productId 时按界面显示的期号匹配(取产品侧实时期号;产品侧已删的孤儿行回落团期侧快照);不带 productId 时走数据库条件。两条路径结果一致。
三、边界
- 期号为空的行(
batchLabel为 null)不会因为新增条件被排除,非期号关键词下的结果与改前一致。 - 导出本来就只包含已建团的班期,所以搜「第1期」可能出现「统计条 1 条、导出 0 行」——这是导出范围的既有差异,与本次改动无关。
- 纯数字关键词(如「3」)仍按
batchNo包含匹配,会返回较多无关班期;收紧它会改变既有行为,另行评估(见工单「后续工单」第 2 条)。
四、测试环境已验证
被测版本:hl-order-service-v3 = dev-v3 915c01df5(2026-09-18 17:52 部署,双实例 running)。改前基线在同一批数据上跑过一遍逐项对照。
产品 2100839045562077186(10 期,期号 1~10,仅第 3 期已建团),每个关键词同时打
分页列表 / 统计条 / 导出 三个入口:
第3期 / 3期 / 「 第3期 」 改前 0 → 改后 1(期号 3) ✓
第1期 改前 0 → 改后 1(期号 1),不连带第 10 期 ✓
3 / 1(纯数字) 改前 10 → 改后 10,10 个 batchNo 逐字一致 ✓
10月8日 / 999490 等非期号 改前 1 → 改后 1,逐字一致 ✓
batchLabel 为 null 的孤儿行 未被新条件排除 ✓
统计条与导出对同一 keyword 同口径 ✓