docs: 同步 T-206 状态(BLOCKED,代码完成待真实 create)

- tasks.md T-206 标 BLOCKED 并注明阻塞原因
- docs/04 主数据反查落到 MapContext.MasterData
- progress/current-state 追加 T-206 记录

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-07 23:11:23 +08:00
co-authored by Claude Opus 4.8
parent f95a779daa
commit f6a7f61d59
4 changed files with 43 additions and 15 deletions
+13
View File
@@ -172,3 +172,16 @@
- 验证:`go build ./...` 通过。
- 决策:T-103 不引入 Redis 客户端依赖,只定义可选持久化接口;持久化失败被忽略,内存快照仍刷新,满足“redis 不可用不阻断”。
- 下一步:T-206(健康档案 Create/Update + 创建请求契约)。
## 2026-07-07 T-206 健康档案 Create/Update(代码完成,真实写入受阻)
- 状态:BLOCKED(代码与本地验证完成;真实 create 写入平台待安全测试档案/写入授权)。
- 变更:`contract/jkda.go` 新增 `HealthRecordCreate`、`HealthRecordBaseInfo`、`HealthRecordCreateInfo`、`HealthRecordSaveResult`;创建请求侧使用 `addressNumber`,保留查询响应侧 `adressNumber`。
- 变更:`osi/codes.go` 新增 `JKDA00001`/`JKDA00003` 与 `/jkda/create`、`/jkda/update` 路由;`osi/client.go` 增加内部 `callUploadInfo`,支持创建/更新把 `healthRecord/pastHistory/...` 放在 `uploadinfo` 同级节点;`osi/jkda.go` 新增 `CreateHealthRecord`、`UpdateHealthRecord`。
- 变更:`mapping.BuildHealthRecordCreate` 将 `MappedHealthRecord` 转为创建请求契约,保留确定性 `checkId` 与 `regionCode/manaDoctorId/manaUnitId`,并派生 `createUser/createUnit`。
- RED:`go test ./contract -run TestHealthRecordCreateSerializesCreateFieldNames -count=1` 初次失败,缺少创建请求结构体;`go test ./osi -run "Test(Create|Update)HealthRecord" -count=1` 初次失败,缺少 create/update 方法与 serviceId;`go test ./mapping -run TestBuildHealthRecordCreateUsesMappedFieldsAndCheckID -count=1` 初次失败,缺少构建函数。
- GREEN:补最小实现后上述三组目标测试通过。
- 验证:`go test ./contract ./osi ./mapping -count=1` 通过。
- 验证:`go test ./...` 通过。
- 验证:`go build ./...` 通过。
- 阻塞:未执行真实 `JKDA00001` create。原因是当前只有真实查询样本,没有明确的安全测试居民/身份证和写入授权;直接用现有真实样本创建/更新可能污染平台档案或触发重复建档。解除条件:提供可写入沙箱的测试居民资料,或明确授权使用某条测试数据做 create。