docs: 同步 T-002 完成状态并重排看板为查询先行
- T-001/T-002 标记 DONE,current-state 更新 Go 骨架现实 - 看板重排 Phase 1/2 → Q(查询)/M(映射)/D(字典+创建),查询档案不依赖字典 - osi/jkda.go 拆为 T-203(Find)/T-206(Create),显式化 Create 对字典缓存的依赖 - docs/05 加执行顺序注记 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -26,34 +26,47 @@
|
||||
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| T-001 | 初始化 go module + `main.go` 双子命令骨架 + `config/`(viper) | - | `go build ./...` 通过;`-mode server\|deliver` 可解析;`config.yaml.example` 占位值就绪 | DONE |
|
||||
| T-002 | `osi/sign.go` MD5 头签名 + 单测 | T-001 | 单测校验 `password=md5("ts=<ts>&ask=<ask>")` 32 位小写;与 Python 脚本(scripts/,本地)产出比对一致 | TODO |
|
||||
| T-002 | `osi/sign.go` MD5 头签名 + 单测 | T-001 | 单测校验 `password=md5("ts=<ts>&ask=<ask>")` 32 位小写;与 Python 脚本(scripts/,本地)产出比对一致 | DONE |
|
||||
| T-003 | `osi/transport.go`:从 chis_upload 移植传输层 | T-001 | 保留 SOCKS5/超时;去掉 cookiejar 与网页拟态头;单测或最小连通验证 | TODO |
|
||||
| T-004 | `osi/client.go` `Call` + `osi/codes.go` + `contract/envelope.go` | T-002, T-003 | 信封为 `serviceId`+`uploadinfo{baseInfo,manageInfo,...}`(docs/04 §8);成功码按去前导零 == `"1"` 判定(实测 `"01"`,docs/01 §1);`405` 归类可重试 | TODO |
|
||||
| T-005 | 阶段 0 验收:Go 侧真实请求打通 + 配置 `init.sh` | T-004 | 用 JKDA00002(Python 已验证的同一查询)发真实请求拿到 `code="01"`;`./init.sh` 三命令替换完成且可运行 | TODO |
|
||||
|
||||
## Phase 1 · 字典服务(路线图阶段 1)
|
||||
> **执行顺序说明(2026-07-06 重排,查询先行)**:原路线图"阶段1字典 → 阶段2档案"的顺序假设了先建字典。
|
||||
> 但**查询档案(Find)根本不依赖字典**,**映射纯函数单测**也只需码表 + 注入假字典快照。
|
||||
> 真正需要字典查询接口(网格/责任医生/机构反查)的只有**真实创建闭环**。
|
||||
> 故按能力重排为 Q(查询)→ M(映射)→ D(字典+创建);ID 保持不变,`osi/jkda.go` 的 Find 与 Create 拆成 T-203 / T-206。
|
||||
> 字母命名的执行阶段(B/0/Q/M/D)区别于 Backlog 里的"路线图阶段 3~6"。
|
||||
|
||||
## Phase Q · 查询档案打通(Find,不依赖字典)
|
||||
|
||||
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| T-201 | `contract/jkda.go`:以 docs/04 §8 实测契约建**查询响应**结构体 | T-004 | Find 响应能完整反序列化本地联调样本(`data` 数组、null 字段用指针/omitempty、`adressNumber` 坑点拼写);创建请求结构体延到 T-206 补 | TODO |
|
||||
| T-203 | `osi/jkda.go`:**Find + FindRqbj** | T-201 | 用 JKDA00002 真实请求打通,拿到 `code="01"` 与档案数据,与 Python 脚本结果一致 | TODO |
|
||||
|
||||
## Phase M · 映射层(码表 + 纯函数,注入假字典快照)
|
||||
|
||||
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| T-102 | `mapping/dict.go` 全量码表(含 56 项民族) | T-001 | 双向查表;未命中显式 ValidationError;单测覆盖(静态枚举,不走网络) | TODO |
|
||||
| T-202 | `mapping/health_record.go` + `mapping/checkid.go` | T-102, T-201 | 映射纯函数 + 结构化校验错误;主数据经 `MapContext` 字典快照注入(单测塞假快照);checkId 确定性生成单测 | TODO |
|
||||
| T-205 | 映射单测基线:docx 样例 + 联调样本 | T-202 | `go test ./mapping/...` 全绿;必填/码表/格式校验生效 | TODO |
|
||||
|
||||
## Phase D · 字典服务与创建闭环(真实主数据反查)
|
||||
|
||||
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| T-101 | `osi/public.go` 四个字典查询(网格/责任医生/药品/机构) | T-005 | 真实机构码能查到下级网格、责任医生、机构树 | TODO |
|
||||
| T-102 | `mapping/dict.go` 全量码表(含 56 项民族) | T-001 | 双向查表;未命中显式 ValidationError;单测覆盖 | TODO |
|
||||
| T-103 | 字典缓存(内存 + redis 可选) | T-101, T-102 | 映射层能反查 `regionCode/manaDoctorId/manaUnitId`;redis 不可用不阻断 | TODO |
|
||||
|
||||
## Phase 2 · 健康档案闭环(路线图阶段 2,第一条业务线)
|
||||
|
||||
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| T-201 | `contract/jkda.go`:以 docs/04 §8 实测契约为基线建结构体 | T-004 | Find 响应能完整反序列化本地联调样本(`data` 数组、null 字段用指针/omitempty、`adressNumber` 坑点拼写) | TODO |
|
||||
| T-202 | `mapping/health_record.go` + `mapping/checkid.go` | T-102, T-201 | 映射纯函数 + 结构化校验错误;checkId 确定性生成单测 | TODO |
|
||||
| T-203 | `osi/jkda.go`:Create/Update/Find/FindRqbj | T-201 | Find 真实请求通过;Create 待测试档案确认后联调 | TODO |
|
||||
| T-204 | `handler`+`router`:`/api/health-record/save` | T-203 | server 模式起服务,curl 全链路返回投递结果 | TODO |
|
||||
| T-205 | 映射单测基线:docx 样例 + 联调样本 | T-202 | `go test ./mapping/...` 全绿;必填/码表/格式校验生效 | TODO |
|
||||
| T-206 | `osi/jkda.go`:**Create/Update** + `contract/jkda.go` 补创建请求结构体 | T-201, T-202, T-103 | 一条档案经映射(真实字典快照)→ create → 平台返回成功码与 `phrId`;Update 沿用 checkId | TODO |
|
||||
| T-204 | `handler`+`router`:`/api/health-record/save` | T-206 | server 模式起服务,curl 全链路返回投递结果 | TODO |
|
||||
|
||||
## 里程碑
|
||||
|
||||
- M1 = T-005:Go 客户端与平台真实握手成功(签名/信封/判码全对)。
|
||||
- M2 = T-103:字典服务可反查主数据。
|
||||
- M3 = T-205:档案业务线闭环 + 幂等,映射有回归基线。
|
||||
- M2 = T-203:**Go 版查询档案打通**(Find,不碰字典)。
|
||||
- M3 = T-205:映射层就绪 + 单测基线(假字典快照)。
|
||||
- M4 = T-206:真实创建闭环 + 幂等(字典反查主数据 → create → phrId)。
|
||||
|
||||
## 待办池(Backlog,按路线图阶段 3~6 展开,进入时再拆小任务)
|
||||
|
||||
@@ -62,5 +75,7 @@
|
||||
- 阶段 5:PHIS 真实接入与状态回写。
|
||||
- 阶段 6:加固与交接(完整度定论、密钥环境变量化、运维文档、全绿)。
|
||||
- 联调依赖跟踪见 `docs/06-厂家联调清单.md`(B 组契约缺口会阻塞阶段 4)。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user