From 6822ad4350cc54a096b6eb7e8aea31d9e76f7171 Mon Sep 17 00:00:00 2001 From: ila Date: Wed, 8 Jul 2026 00:18:52 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=9C=8B=E6=9D=BF=E9=87=8D=E6=8E=92?= =?UTF-8?q?=E4=B8=BA=E8=AF=BB=E5=85=88=E8=A1=8C=EF=BC=88Phase=20Q2=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BC=98=E5=85=88=EF=BC=8C=E5=86=99=E5=85=A5?= =?UTF-8?q?=E5=90=8E=E7=BD=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tasks.md 新增 Phase Q2(体检/老年人/列表查询),T-206/T-204 写入降到其后 - docs/06 顶部归拢当前批次三项优先催办(写入授权/缺失 serviceId/写入规则) - 里程碑与 current-state 下一步同步为 T-301 起 Co-Authored-By: Claude Opus 4.8 --- docs/06-厂家联调清单.md | 10 ++++++++++ docs/current-state.md | 8 ++++++-- progress.md | 7 +++++++ tasks.md | 22 +++++++++++++++++++--- 4 files changed, 42 insertions(+), 5 deletions(-) diff --git a/docs/06-厂家联调清单.md b/docs/06-厂家联调清单.md index 3d3c1ee..fc4330d 100644 --- a/docs/06-厂家联调清单.md +++ b/docs/06-厂家联调清单.md @@ -7,6 +7,16 @@ --- +## ★ 当前批次优先催办(读先行阶段,2026-07-08) + +查询链路已打通,接下来"其余业务线查询 + 将来写入"被以下三件卡着,**建议同一封邮件一起催**,避免写入阶段既缺授权又缺规则双重卡壳: + +1. **写入授权 + 安全测试档案**(见 D3)——解 T-206(档案 create)阻塞,进而解 T-204。 +2. **缺失的列表/查询接口 serviceId + 路径**(见 B1、B2、B4)——解 T-304 列表查询、T-303 老年人查询的 serviceId 缺口。 +3. **写入业务规则**:checkId 去重语义 + 完整度谁算(见 C1、C2)——写入阶段前置,现在问以免后置返工。 + +--- + ## A. 接入凭据与环境(最高优先级) 没有这些,一个请求都发不出。 diff --git a/docs/current-state.md b/docs/current-state.md index 2a1d594..bdce836 100644 --- a/docs/current-state.md +++ b/docs/current-state.md @@ -86,8 +86,12 @@ python3 scripts/query_health_record.py ## 下一步 -1. 解除 T-206 阻塞:提供可写入沙箱的安全测试居民资料,或明确授权使用某条测试数据执行 `JKDA00001` create。 -2. T-206 真实 create 成功后,补 `phrId` 返回样本与 `checkId` 幂等语义,再进入 T-204 server 模式 `/api/health-record/save`。 +> 读先行调整(2026-07-08):写入(T-206/T-204)被厂家授权锁死,先推其余业务线查询。 + +1. **T-301 体检查询打通**(`contract/jktj.go` + `osi/jktj.go`,JKTJ00002 / JKTJLSJL00002),响应字段记入 docs/04 —— 当前可领。 +2. T-302 体检 HTTP 查询端点(复用 T-208 handler 模式)。 +3. 并行催厂家(docs/06 ★ 优先催办):写入授权+测试档案、缺失列表 serviceId、checkId/完整度规则。 +4. 授权到位后回到 T-206 真实 create 验收 → T-204。 ## 维护规则 diff --git a/progress.md b/progress.md index 0f645e1..266fada 100644 --- a/progress.md +++ b/progress.md @@ -193,3 +193,10 @@ - 验证:用户在 Windows 侧 `go test ./...`、`go build ./...` 通过;`go run . -mode server` 起服务后 `curl .../find?idCard=<..>` 返回平台完整档案 JSON。(本 WSL 离线无 go 工具链,未在本环境复跑。) - 决策:查询端点直接回写 `Result.Raw`(平台原始 `{code,message,data}`),保证未建模字段不丢失;默认监听 `127.0.0.1:8080` 而非 `:8080`,因端点返回真实档案 PII,避免绑 0.0.0.0 暴露到局域网;身份证经 URL query 传入,仅作本机查看工具,勿反代外网。 - 下一步:解 T-206 阻塞(真实 create),或按需为查询端点加鉴权后再考虑对外。 + +## 2026-07-08 看板重排(读先行:查询优先、写入后置) + +- 状态:DONE(规划调整,无代码) +- 变更:`tasks.md` 新增 Phase Q2(其余业务线查询:T-301 体检查询 / T-302 体检端点 / T-303 老年人查询 / T-304 列表查询),把写入 T-206(BLOCKED)/T-204 明确降到 Q2 之后;里程碑加 M4=体检查询、M5=创建闭环。`docs/06` 顶部加"★ 当前批次优先催办",把写入授权(D3)+缺失 serviceId(B1/B2/B4)+写入规则(C1/C2) 归拢成一封邮件一起催。`docs/current-state.md` 下一步改为 T-301 起。 +- 决策(全栈分析):真实 create 被厂家写入授权外部锁死,垂直切片走不通;改按读/写横切、读先行——读路径不被授权阻塞、只读零风险、且各查询响应是将来写入映射的事实侦察。T-206 创建代码保留不作废,授权到位再验收。 +- 下一步:T-301 体检查询打通。 diff --git a/tasks.md b/tasks.md index bfeec73..1f25a2f 100644 --- a/tasks.md +++ b/tasks.md @@ -56,19 +56,35 @@ ## Phase D · 字典服务与创建闭环(真实主数据反查) +> **读先行调整(2026-07-08)**:档案**创建/更新**(T-206/T-204)真实验收依赖厂家写入授权 + 安全测试档案(docs/06 D3),当前锁死。 +> 故把**其余业务线的查询**(Phase Q2)提到写入之前先做——读路径不被授权阻塞,且顺带摸清各业务线响应字段,为将来写入去风险。 +> T-206 创建代码已完成并入库,保持不动,授权到位后再回来验收。 + | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-101 | `osi/public.go` 四个字典查询(网格/责任医生/药品/机构) | T-005 | 真实机构码能查到下级网格、责任医生、机构树 | DONE | | T-103 | 字典缓存(内存 + redis 可选) | T-101, T-102 | 映射层能反查 `regionCode/manaDoctorId/manaUnitId`;redis 不可用不阻断 | DONE | -| T-206 | `osi/jkda.go`:**Create/Update** + `contract/jkda.go` 补创建请求结构体 | T-201, T-202, T-103 | 一条档案经映射(真实字典快照)→ create → 平台返回成功码与 `phrId`;Update 沿用 checkId | BLOCKED(代码已完成;待安全测试档案/写入授权做真实 create) | -| T-204 | `handler`+`router`:`/api/health-record/save` | T-206 | server 模式起服务,curl 全链路返回投递结果 | TODO | +| 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 解阻塞) | + +## Phase Q2 · 其余业务线查询(读先行) + +> 每条查询任务都顺带把响应真实字段记入 `docs/04`(像 §8),作为将来对应业务线 create 映射的事实基线。 + +| ID | 任务 | 依赖 | 验收要点 | 状态 | +| --- | --- | --- | --- | --- | +| T-301 | 体检查询打通:`contract/jktj.go` + `osi/jktj.go`(单条 JKTJ00002 / 最近一次 JKTJLSJL00002) | T-004 | 真实请求拿到 `code="01"` 与体检数据;响应字段(hcData/lsData/exaData/aeData…)记入 docs/04 | TODO | +| T-302 | 体检 HTTP 查询端点(复用 T-208 handler 模式) | T-301 | server 模式 curl 返回体检完整 JSON;默认仅绑本机 | TODO | +| T-303 | 老年人查询打通:自理 LNRZLPG / 体质 LNRZYTZ(查询 serviceId 部分待确认) | T-004 | 真实请求打通;缺失 serviceId 先向厂家确认(docs/06 B4) | TODO(部分待 B4) | +| T-304 | 列表类查询(档案/体检/老年人/中医指导列表) | T-004 | 各列表路径+serviceId 到位后返回分页数组 | BLOCKED(待 docs/06 B1/B2 厂家回填) | ## 里程碑 - M1 = T-005:Go 客户端与平台真实握手成功(签名/信封/判码全对)。 - M2 = T-203:**Go 版查询档案打通**(Find,不碰字典)。 - M3 = T-205:映射层就绪 + 单测基线(假字典快照)。 -- M4 = T-206:真实创建闭环 + 幂等(字典反查主数据 → create → phrId)。 +- M4 = T-301:**体检查询打通**(其余业务线读先行第一条)。 +- M5 = T-206:真实创建闭环 + 幂等(授权到位后,字典反查主数据 → create → phrId)。 ## 待办池(Backlog,按路线图阶段 3~6 展开,进入时再拆小任务)