31 lines
3.2 KiB
Markdown
31 lines
3.2 KiB
Markdown
|
|
# 供气合同列表开发记录
|
|||
|
|
|
|||
|
|
操作时间:2026-09-08。操作类型:扩展及缺陷修复。影响模块:图32、本人合同接口。
|
|||
|
|
|
|||
|
|
操作前:个人中心合同入口仅为通用记录列表。ListGasContracts错误地用合同ID查询订单气瓶,数值碰撞时可能返回无关订单明细。
|
|||
|
|
|
|||
|
|
操作后:独立合同页面支持搜索编号/标题/气站、筛选真实业务状态、下拉刷新、失败重试、查看合同正文。保留原路由和旧contracts()仓储接口。
|
|||
|
|
|
|||
|
|
## 代码与接口
|
|||
|
|
|
|||
|
|
- backend/api/internal/logic/client/user/gasorder.go:ListGasContracts改查gasorder_contract_product并按合同归组,气站批量读取,避免逐合同查询。本人过滤保留,file_uri兼容字段置空,不再发送私有存储地址,新增station_name、has_attachment。
|
|||
|
|
- apps/user_app/lib/domain/models/gas_order_detail.dart:GasContractSummary保留业务状态、供气单位与日期,不将草稿推断成待签署。
|
|||
|
|
- apps/user_app/lib/data/repositories/client_repository.dart:gasContracts增加强类型适配和会话切换保护。
|
|||
|
|
- apps/user_app/lib/ui/features/orders/gas_contracts_page.dart:列表、搜索、筛选、卡片、有效期和正文查看;app/router.dart替换原通用页面。
|
|||
|
|
- 后端gas_contract_list_test.go新增归属与绑定查询回归、空列表不查关联;Flutter新增gas_contracts_page_test.dart及gas_contracts_test.dart,Fixture与tool/a1_visual_test.dart新增图32。
|
|||
|
|
- scripts/compare-user-app-a1.ps1加入图32,现16组对照对应15张设计。
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
Go全量测试、vet及构建通过。Flutter analyze通过,原99项全量测试通过,随后新增合同类型/跨会话测试1项通过。UI测试覆盖首读失败重试、到期筛选空态、编号搜索和正文打开。图32在320/360/390/430与1.0/1.3字体的8组截图检查通过,已查看390与320大字体,并将筛选样式修正为原图蓝色圆角按钮。
|
|||
|
|
|
|||
|
|
Web Release和Android Debug构建通过。新API读取远程MOCK-CONTRACT-001返回和气示例气站、状态11、1条合同绑定且原始附件地址为空;本轮只读远程业务数据,没有迁移或修改现有合同。浏览器已验证合同深链登录回跳、已到期筛选空态、编号搜索、查看真实合同正文,控制台无错误或警告。API进程42232提供新接口,18571提供更新后的Web。
|
|||
|
|
|
|||
|
|
新增页面gas_contracts_page.dart共191行;后端ListGasContracts修改约40行,新增两项SQL查询回归。其余兼容文件已有前序改动,不能将工作树累计差异算成本轮修改行数。
|
|||
|
|
|
|||
|
|
## 未完成及维护边界
|
|||
|
|
|
|||
|
|
图32仍为部分实现:无签署工作流、家庭共享协议、用气地址快照、PDF下载、合同服务与完整签署历史。保留真实草稿/生效/到期/终止状态,不用设计演示合同、地址或法律效力声明补空。15张设计部分实现、43张无完整对应页、0张严格全功能1:1通过。
|
|||
|
|
|
|||
|
|
后续附件下载必须先校验本人合同并复用受控文件读取,不能将存储路径拼成公开URL;签署须衔接实名与审计契约,不可本地改变状态。修改绑定关联时应运行新增SQL作用域测试,防止合同ID与订单ID再次混用。
|