docs: 登记 T-211 药品目录分页契约修正
依 docx YPML00001:pageNo 必填、补 pageSize、返回药品数组;当前实现把 pageNo 当可选是 bug Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -283,3 +283,10 @@
|
|||||||
- 验证:`go test ./...` 通过;`go build ./...` 通过;`python -c "import yaml; yaml.safe_load(open('docs/openapi.yaml', encoding='utf-8'))"` 通过;`git diff --check` 通过。
|
- 验证:`go test ./...` 通过;`go build ./...` 通过;`python -c "import yaml; yaml.safe_load(open('docs/openapi.yaml', encoding='utf-8'))"` 通过;`git diff --check` 通过。
|
||||||
- 决策:公开查询端点继续原样回写平台 JSON,不裁字段;`pageNo` 做 HTTP 层整数校验,其余查询条件按上游查询透传。项目按内网部署推进,但 API 返回主数据/PII 相关上下文,生产暴露前仍需网关鉴权和日志脱敏。
|
- 决策:公开查询端点继续原样回写平台 JSON,不裁字段;`pageNo` 做 HTTP 层整数校验,其余查询条件按上游查询透传。项目按内网部署推进,但 API 返回主数据/PII 相关上下文,生产暴露前仍需网关鉴权和日志脱敏。
|
||||||
- 下一步:T-303 老年人查询探针;或继续补内网部署鉴权/访问控制任务。
|
- 下一步:T-303 老年人查询探针;或继续补内网部署鉴权/访问控制任务。
|
||||||
|
|
||||||
|
## 2026-07-09 T-211 药品目录分页契约修正(登记)
|
||||||
|
|
||||||
|
- 状态:DOING
|
||||||
|
- 背景: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 不受影响。
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
| T-101 | `osi/public.go` 四个字典查询(网格/责任医生/药品/机构) | T-005 | 真实机构码能查到下级网格、责任医生、机构树 | DONE |
|
| T-101 | `osi/public.go` 四个字典查询(网格/责任医生/药品/机构) | T-005 | 真实机构码能查到下级网格、责任医生、机构树 | DONE |
|
||||||
| T-103 | 字典缓存(内存 + redis 可选) | T-101, T-102 | 映射层能反查 `regionCode/manaDoctorId/manaUnitId`;redis 不可用不阻断 | DONE |
|
| T-103 | 字典缓存(内存 + redis 可选) | T-101, T-102 | 映射层能反查 `regionCode/manaDoctorId/manaUnitId`;redis 不可用不阻断 | DONE |
|
||||||
| T-210 | 公开查询 HTTP API(人群分类、网格地址、责任医生、药品目录、机构) | T-101, T-209 | server 模式暴露人群分类与四类公开查询 HTTP API;原样回写平台 JSON;同步 `docs/07` 与 `docs/openapi.yaml`;按内网部署场景明确绑定地址/鉴权边界 | DONE |
|
| T-210 | 公开查询 HTTP API(人群分类、网格地址、责任医生、药品目录、机构) | T-101, T-209 | server 模式暴露人群分类与四类公开查询 HTTP API;原样回写平台 JSON;同步 `docs/07` 与 `docs/openapi.yaml`;按内网部署场景明确绑定地址/鉴权边界 | DONE |
|
||||||
|
| T-211 | 药品目录查询按分页契约修正 YPML00001 | T-210 | 依 docx:`pageNo` 必填(去 `omitempty`+handler 缺则 400)、补 `pageSize`;`docs/07 §8`+`openapi.yaml` 标 pageNo 必填并补 pageSize;docx 契约未联调,注明待厂家样本核对(尤其 pageNo 是否真必填、响应 `ypxh/ypjl/ycjl` 字段)| DOING |
|
||||||
| T-206 | `osi/jkda.go`:**Create/Update** + `contract/jkda.go` 补创建请求结构体 | T-201, T-202, T-103 | 一条档案经映射(真实字典快照)→ create → 平台返回成功码与 `phrId`;Update 沿用 checkId | BLOCKED(代码完成;待写入授权/测试档案,排在 Phase Q2 之后) |
|
| T-206 | `osi/jkda.go`:**Create/Update** + `contract/jkda.go` 补创建请求结构体 | T-201, T-202, T-103 | 一条档案经映射(真实字典快照)→ create → 平台返回成功码与 `phrId`;Update 沿用 checkId | BLOCKED(代码完成;待写入授权/测试档案,排在 Phase Q2 之后) |
|
||||||
| T-204 | `handler`+`router`:`/api/health-record/save` | T-206 | server 模式起服务,curl 全链路返回投递结果 | TODO(待 T-206 解阻塞) |
|
| T-204 | `handler`+`router`:`/api/health-record/save` | T-206 | server 模式起服务,curl 全链路返回投递结果 | TODO(待 T-206 解阻塞) |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user