29 lines
2.6 KiB
Markdown
29 lines
2.6 KiB
Markdown
# 合同变更记录开发日志
|
||
|
||
操作时间:2026-09-08。操作类型:扩展。影响模块:本人供气合同。
|
||
|
||
## 行为变化
|
||
|
||
原合同页面无法查看历史状态与有效期变更。现在每份合同提供“变更记录”,独立读取不可变快照,支持失败重试、下拉刷新与空态。现有正文、PDF下载、搜索、筛选和旧路由保留。
|
||
|
||
## 关键文件
|
||
|
||
- backend/api/internal/logic/client/user/gas_contract_history.go:GetGasContractHistory先按公开identity、JWT用户及未归档状态限定合同,再按合同ID读取变更记录,发生时间与identity倒序。响应白名单仅包含identity、action、contract_status、occurred_at、effective_at、expired_at,不发送内部主键、员工身份或内部原因。
|
||
- backend/api/internal/routers/client.go、client_test.go:增加受保护GET `/heqi/client/v1/user/gas/contracts/:identity/history`及路由回归。
|
||
- apps/user_app/lib/domain/models/gas_order_detail.dart:GasContractEvent强类型适配,区分activate/renew/terminate等真实动作,未知动作仍显示通用变更而非成功签署。
|
||
- apps/user_app/lib/data/repositories/client_repository.dart:gasContractHistory读取本人记录并丢弃跨会话迟到响应。
|
||
- apps/user_app/lib/ui/features/orders/gas_contract_history.dart:历史弹层、状态及有效期快照、错误重试、空态和关闭;gas_contracts_page.dart增加入口。
|
||
- 后端gas_contract_history_test.go覆盖归属SQL、顺序和内部字段不外泄;前端gas_contract_history_test.dart覆盖重试、真实变更含义及关闭。
|
||
|
||
## 验证
|
||
|
||
Go全量测试、vet与API构建通过。Flutter analyze、全量103项测试通过。图32在320/360/390/430宽度与1.0/1.3字体的8组截图检查通过,已查看390截图,更新并排证据。平台资源契约同步和48项检查通过。
|
||
|
||
真实API读取MOCK-CONTRACT-001,返回activate记录:发生时间2026-06-30 09:00,状态11,有效期至2027-07-01 09:00;匿名HTTP401。无数据库迁移或远程业务写入。
|
||
|
||
浏览器已完成登录回跳、列表“变更记录”入口、真实合同生效记录及关闭;桌面和390手机宽度均实际查看,控制台无错误/警告。Web Release和Android Debug构建通过。新API进程43912,Web端口18571。
|
||
|
||
## 边界
|
||
|
||
变更记录不等于电子签署证据,也不代表已实现合同变更申请、续签提醒或签署工作流。历史内部原因未区分公开/私有口径,因此不下发;不能把内部操作员姓名当作用户签名。图32仍为部分实现,严格视觉与完整合同服务仍待补。
|