docs: 药品目录分页契约同步 docs/07 与 openapi(T-211)

- docs/07 §8 pageNo 必填 + 补 pageSize + 分页说明 + 未联调警示
- openapi drugs 内联 pageNo(required)+pageSize,不动共享 pageNo
- tasks T-211 DONE

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-09 22:22:55 +08:00
co-authored by Claude Opus 4.8
parent dc065a9c29
commit 7a079b2b3f
4 changed files with 29 additions and 6 deletions
+8
View File
@@ -290,3 +290,11 @@
- 背景:docx YPML00001 药品目录查询是**分页列表**——`pageNo` 必填、有 `pageSize`、返回药品数组(ypxh/ypmc/ypdw/ypgg/ypjl/ycjl/jldw)。当前实现把 `pageNo` 当可选(`DrugQuery.PageNo` 带 omitempty、handler `parseOptionalInt`、docs/07 标"否"),且缺 `pageSize`——`pageNo=0` 会被 omitempty 丢弃,平台可能报必填错。
- 计划:`osi.DrugQuery` 去 pageNo omitempty + 加 PageSize;handler 缺 pageNo 返回 400 + 读 pageSize;`docs/07 §8`+`openapi.yaml` 标 pageNo 必填并补 pageSize;docx 契约未联调,全程注明待厂家样本核对。
- 注意:YPML00001 从未真实联调(current-state 自述),本次按 docx 校准,pageNo 是否真必填、响应字段名待联调确认;不扩 `Drug` 响应结构体(避免照单样本猜类型),HTTP 走 Raw 不受影响。
## 2026-07-09 T-211 药品目录分页契约修正(完成)
- 状态:DONE
- 变更:`osi/public.go` `DrugQuery.PageNo` 去 omitempty(确保 pageNo=0 也上送)+ 加 `PageSize`;`handler/public.go` Drugs 改 pageNo 必填(新增 `parseRequiredInt`,缺则 400)+ 读 pageSize;`handler/public_test.go` 加"缺 pageNo→400"测试;`docs/07 §8` 标 pageNo 必填+补 pageSize+分页说明+未联调警示;`docs/openapi.yaml` drugs 内联 pageNo(required)+pageSize(不动共享 pageNo,网格地址仍可选)。
- 验证:openapi YAML 合法、drugs pageNo required=true、grid-addresses 共享 pageNo 仍 false;Go 静态自检通过;现有 drugs 测试(pageNo=1/pageNo=bad)不受影响。待用户 `go test ./...` 复验。
- 决策:只修请求侧分页契约(清晰的 bug);不扩 `Drug` 响应结构体(缺 ypxh/ypjl/ycjl),因 YPML00001 未真实联调、避免照 docx 猜类型,且 HTTP 走 Raw 不影响输出。全程注明 docx 契约待联调。
- 下一步:联调 YPML00001 拿真实分页样本后,确认 pageNo/pageSize 真契约并补 Drug 响应字段。