修复待付款订单页的受控结果读取 #204

Open
opened 2026-09-03 14:14:46 +08:00 by ila · 2 comments
Owner

来源

2026-09-03,CG62 已停留 PDD 待付款页面,但任务转为 order_result_unknown,未读取订单编号与下单时间。用户确认订单信息位于同页下方。

目标

修复正式采购只读核单的页面判定:待付款订单页不得仅因复用支付 Activity 被返回;对具有订单结果信号的 PDD 页面,在唯一主要纵向容器中有限下翻,读取唯一订单编号和下单时间。

安全边界

  • 绝不对完全未知页面盲目滑动。
  • 仅限 PDD 前台,且至少出现待付款/待支付、订单编号或下单时间之一;登录、验证码、风控、未知应用仍立即停止。
  • 不点击支付、付款、确认支付、免密等目标;不再次创建订单。
  • 最多有限次数滑动,每次重新读取;订单结果不唯一或证据不足则 order_result_unknown。

范围

Android PurchaseLiveAutomation 的结果页分类、限定滑动与回归测试;必要时同步采购业务规则 Wiki。

验收

  • 待付款页面即使 Activity 名称属于既有支付 Activity,也优先作为只读订单结果页读取,且能通过有限下翻获取订单编号和下单时间。
  • 真正支付页在没有订单结果信号时,仍最多安全返回一次且不滚动、不点击支付。
  • 缺少订单结果信号的未知 PDD 页不滑动并转人工核对。
  • 自动化覆盖上述成功与失败路径。

风险与真机

采购为高风险。本工单不自动发起重试、下单或付款;真机正式采购验证须由用户另行明确授权。

文档影响

采购任务契约和业务规则的订单结果读取安全边界发生变化,实施时更新线上 Wiki、回读 revision,并同步本地镜像。

## 来源 2026-09-03,CG62 已停留 PDD 待付款页面,但任务转为 `order_result_unknown`,未读取订单编号与下单时间。用户确认订单信息位于同页下方。 ## 目标 修复正式采购只读核单的页面判定:待付款订单页不得仅因复用支付 Activity 被返回;对具有订单结果信号的 PDD 页面,在唯一主要纵向容器中有限下翻,读取唯一订单编号和下单时间。 ## 安全边界 - 绝不对完全未知页面盲目滑动。 - 仅限 PDD 前台,且至少出现待付款/待支付、订单编号或下单时间之一;登录、验证码、风控、未知应用仍立即停止。 - 不点击支付、付款、确认支付、免密等目标;不再次创建订单。 - 最多有限次数滑动,每次重新读取;订单结果不唯一或证据不足则 `order_result_unknown`。 ## 范围 Android `PurchaseLiveAutomation` 的结果页分类、限定滑动与回归测试;必要时同步采购业务规则 Wiki。 ## 验收 - 待付款页面即使 Activity 名称属于既有支付 Activity,也优先作为只读订单结果页读取,且能通过有限下翻获取订单编号和下单时间。 - 真正支付页在没有订单结果信号时,仍最多安全返回一次且不滚动、不点击支付。 - 缺少订单结果信号的未知 PDD 页不滑动并转人工核对。 - 自动化覆盖上述成功与失败路径。 ## 风险与真机 采购为高风险。本工单不自动发起重试、下单或付款;真机正式采购验证须由用户另行明确授权。 ## 文档影响 采购任务契约和业务规则的订单结果读取安全边界发生变化,实施时更新线上 Wiki、回读 revision,并同步本地镜像。
Author
Owner

已完成实现并推送,工单保持待验收。

根因:PDD 可复用 PayActivity 承载已进入的待付款订单页;原逻辑仅按 Activity 判定支付页,先执行返回,第二次仍见该 Activity 后停止,因此不会运行只读滑动读取。

实现:订单结果信号(待付款/待支付、订单编号或下单时间)优先于已知支付 Activity 名称。只有 PDD 前台且存在这些信号时,才进入既有有限、只读的向上手势下翻读取路径;没有结果信号的真正支付页继续最多安全返回一次,未知 PDD 页不滑动。没有新增点击目标,支付与再次下单仍被禁止。

验证:

  • :app:testDebugUnitTest --tests cn.ilapage.goauto.agent.PurchaseLiveAutomationTest 通过。
  • :app:assembleDebug 通过。
  • 新增覆盖:同一 PayActivity 上有待付款证据时不返回、有限滑动后读取订单号与下单时间;既有未知 PDD 页不滑动测试仍覆盖。

提交:2d6d244 fix(agent): 读取待付款订单结果 (#204),已推送。

文档:线上 Business-Rules-and-Glossary 已更新并在线回读 revision 2634952a573064a266ddf089c7f0bd064eef82a8。本地镜像 sync 被已有未提交的 docs/12-syb-erp-interface.md 保护性阻止,未覆盖用户改动;待该改动处置后补跑 sync 与 sync --check。

未安装 APK、未执行 CG62 重试、未发起任何正式采购;真机验证须由用户另行明确授权。

已完成实现并推送,工单保持待验收。 根因:PDD 可复用 `PayActivity` 承载已进入的待付款订单页;原逻辑仅按 Activity 判定支付页,先执行返回,第二次仍见该 Activity 后停止,因此不会运行只读滑动读取。 实现:订单结果信号(待付款/待支付、订单编号或下单时间)优先于已知支付 Activity 名称。只有 PDD 前台且存在这些信号时,才进入既有有限、只读的向上手势下翻读取路径;没有结果信号的真正支付页继续最多安全返回一次,未知 PDD 页不滑动。没有新增点击目标,支付与再次下单仍被禁止。 验证: - `:app:testDebugUnitTest --tests cn.ilapage.goauto.agent.PurchaseLiveAutomationTest` 通过。 - `:app:assembleDebug` 通过。 - 新增覆盖:同一 PayActivity 上有待付款证据时不返回、有限滑动后读取订单号与下单时间;既有未知 PDD 页不滑动测试仍覆盖。 提交:2d6d244 `fix(agent): 读取待付款订单结果 (#204)`,已推送。 文档:线上 `Business-Rules-and-Glossary` 已更新并在线回读 revision `2634952a573064a266ddf089c7f0bd064eef82a8`。本地镜像 `sync` 被已有未提交的 `docs/12-syb-erp-interface.md` 保护性阻止,未覆盖用户改动;待该改动处置后补跑 sync 与 sync --check。 未安装 APK、未执行 CG62 重试、未发起任何正式采购;真机验证须由用户另行明确授权。
Author
Owner

线上发布完成。

  • Release:/home/goauto/releases/20260903-2d6d244-r1
  • 提交:2d6d244 fix(agent): 读取待付款订单结果 (#204)
  • Linux/amd64 服务端二进制 SHA-256:2ef301dd81ddb968f9de2184a76b0def8f923efac5719077db6a9a0c2bdc8f54
  • Admin 前端生产构建:310 个静态文件。
  • 原子切换 /home/goauto/current 并重启 goauto.service,服务为 active。
  • 验证:主机本地 API health 成功;外部 http://185.216.248.75:9527/ 与 /api/v1/health 均返回 HTTP 200。

旧 release 保留,可按运维规则回滚。未发布或触发 Android APK、采购任务、下单或支付。

线上发布完成。 - Release:`/home/goauto/releases/20260903-2d6d244-r1` - 提交:`2d6d244 fix(agent): 读取待付款订单结果 (#204)` - Linux/amd64 服务端二进制 SHA-256:`2ef301dd81ddb968f9de2184a76b0def8f923efac5719077db6a9a0c2bdc8f54` - Admin 前端生产构建:310 个静态文件。 - 原子切换 `/home/goauto/current` 并重启 `goauto.service`,服务为 `active`。 - 验证:主机本地 API health 成功;外部 `http://185.216.248.75:9527/` 与 `/api/v1/health` 均返回 HTTP 200。 旧 release 保留,可按运维规则回滚。未发布或触发 Android APK、采购任务、下单或支付。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#204