Files
platforms/docs/开发日志_订单支付确认_20260911.md
czl231 3ef33b531d 已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
2026-09-13 00:57:32 +08:00

3.6 KiB
Raw Permalink Blame History

订单支付确认开发日志

操作时间2026-09-11 20:55:00
操作类型:新增/扩展
影响模块:用户端订单、钱包支付、气瓶订单、视觉验收

操作前状态

订单动作使用底部菜单直接选择渠道没有图19独立支付确认页。气瓶订单支付只处理外部渠道商城余额支付没有写入统一支付单退款链路无法找到该支付事实。

具体操作

  • 新增/payment/:business/:identity,同时读取本人订单详情和钱包,展示应付金额、商品快照、订单号、支付方式、安全验证和金额明细。
  • 余额支付使用六位脱敏圆点输入,扣款前再次确认订单号、渠道和金额;未知结果保留原幂等请求号。
  • 气瓶和商城余额支付均在数据库事务内锁定订单与钱包,校验支付密码,写入订单状态、支付单和钱包记录。
  • 订单不在可支付状态时禁用底部按钮。优惠券无服务端接口,保留位置并显示“暂未开放”及原因弹层。
  • 支付页复用服务端充值渠道就绪配置当前Web环境未配置商户证书时微信和支付宝直接显示“暂未开放”并禁用不再允许用户提交后才得到配置错误。
  • 气瓶订单使用真实钢瓶位图;服务端订单快照有图片时优先显示快照,普通商城商品缺图时保持缺图图标,不伪造商品照片。
  • 按最新图19重校卡片高度、支付方式图标/单选位置、密码圆点、订单明细和固定底部按钮。

代码变更

  • apps/user_app/lib/ui/features/orders/payment_confirmation_page.dart:支付页与交互。
  • apps/user_app/lib/ui/core/payment_pin_field.dart:共用六位支付密码组件。
  • apps/user_app/lib/app/router.dartapps/user_app/lib/ui/features/orders/order_action_handler.dart:支付路由与订单入口。
  • apps/user_app/lib/data/repositories/client_repository.dart:支付密码、商城/气瓶参数校验与余额结果校验。
  • backend/api/internal/logic/client/user/gasorder.goshop.go:原子余额支付、幂等重试和支付事实。
  • apps/user_app/test/ui/payment_confirmation_page_test.dartbackend/api/internal/logic/client/user/wallet_order_payment_test.go:页面和重试测试。
  • apps/user_app/test/support/a1_fixture.dart:视觉夹具提供明确的渠道就绪状态,不访问真实支付渠道。
  • apps/user_app/tool/a1_visual_test.dartscripts/compare-user-app-a1.ps1图19多尺寸截图和并排对照。

验证结果

  • Flutter analyze通过Flutter全量171项通过。
  • 图19在320/360/390/430宽、1.0/1.3文字缩放共8项通过当前视觉集合共184项通过。
  • Go全量go test ./...go vet ./...和API构建通过。
  • Flutter Web Release构建通过API使用仓库现有远程PostgreSQL/Redis配置重启成功。
  • 内置浏览器展示远程真实订单金额、钱包余额、全部分组和优惠券未开放弹层。
  • 2026-09-11 23:55再次在内置浏览器打开真实已取消订单EC1788842040900189900:金额与余额来自远程数据,微信/支付宝显示“暂未开放”,优惠券弹层可见,订单不可支付按钮禁用;未产生订单或资金写入。

风险评估

  • 当前测试账号无待付款订单,浏览器展示使用真实已取消订单,没有执行远程扣款。待付款成功路径由组件测试和服务端事务测试覆盖。
  • 微信、支付宝仍依赖环境的真实商户配置与回调;页面按服务端配置状态判定是否可选,尚未做真实渠道回调验收。
  • 优惠券缺少接口和后台配置,当前只显示首期缺失状态,不计为完成。