修复创建订单后多微信选择器与只读核单恢复 #66

Closed
opened 2026-08-22 10:08:49 +08:00 by ila · 4 comments
Owner

原始需求

  • 来源:用户对话
  • 提出时间:2026-08-22
  • 关键摘要:三星创建订单后出现多微信选择器,应按返回回到 PDD,继续进入订单详情读取订单号和下单时间;参考 D:\chengma\cmautobuy\client。

当前证据

  • CG-12 已完成地址修改和最终复核,2026-08-22 10:03:43.027 进入 order_submit_started,创建订单只点击一次。
  • 设备随后停留在 android/com.android.internal.app.ChooserActivity,任务进入 order_result_unknown,无订单号和下单时间,未支付。
  • 人工确认当前界面为多微信选择器;按一次返回后进入 PDD com.xunmeng.pinduoduo/.app_pay.core.PayActivity,再按一次返回后进入 PDD NewPageActivity。

目标与范围

  • 仅修改 Android 创建订单后的只读核单恢复和长期 Wiki;不修改 Admin、服务端、数据库、采购创建/地址/规格流程。
  • 同时满足系统包/Activity 白名单、已知选择器标题和微信候选时,最多按一次返回;不点击任何微信候选。
  • 回到 PDD 已知支付 Activity 或出现支付动作文字时,最多再按一次返回;不点击支付控件。
  • 返回 PDD 后继续只读解析唯一订单号和下单时间;若选择器/支付页一次返回后仍存在、页面不在白名单、结果不唯一或超时,保持 order_result_unknown。
  • 不允许重新创建任务、重新点击创建订单、取消订单或支付。
  • CG-12 保持未知结果,待人工核对;实现期间不创建新正式任务。

参考实现

  • D:\chengma\cmautobuy\client\src\pdd_u2_purchase_reconcile_adapter.py
  • 复用其双证据选择器识别:系统包/Activity 白名单 + 选择器标题/微信候选。
  • 复用“一次选择器返回 + 一次支付页返回”的有限状态,不照搬其保存原始 XML 行为。

子项目影响

  • 仅 Android Agent 与 Wiki。
  • 不修改共享请求字段、数据库结构、权限或 UI。

设计与原型门禁

  • 恢复既有只读核单行为的 Android 缺陷,无 UI 页面变化,不需要原型。

验收标准

  • 已知 Android 多微信选择器最多安全返回一次,不点击微信。
  • PDD 支付页最多安全返回一次,不点击支付。
  • 返回订单详情后能读取唯一订单号和下单时间。
  • 非白名单选择器、重复返回失败、歧义或超时保持未知结果。
  • 已有创建订单一次性、地址、规格及禁止支付测试继续通过。
  • Android 全量测试和 Debug APK 构建通过;APK 安装三星。
  • 真机继续核单或创建新任务必须再次获得用户明确授权。

文档影响

  • 更新 Wiki Business-Rules-and-Glossary、Android-Agent-API-Contract。
## 原始需求 - 来源:用户对话 - 提出时间:2026-08-22 - 关键摘要:三星创建订单后出现多微信选择器,应按返回回到 PDD,继续进入订单详情读取订单号和下单时间;参考 `D:\chengma\cmautobuy\client`。 ## 当前证据 - CG-12 已完成地址修改和最终复核,`2026-08-22 10:03:43.027` 进入 `order_submit_started`,创建订单只点击一次。 - 设备随后停留在 `android/com.android.internal.app.ChooserActivity`,任务进入 `order_result_unknown`,无订单号和下单时间,未支付。 - 人工确认当前界面为多微信选择器;按一次返回后进入 PDD `com.xunmeng.pinduoduo/.app_pay.core.PayActivity`,再按一次返回后进入 PDD `NewPageActivity`。 ## 目标与范围 - 仅修改 Android 创建订单后的只读核单恢复和长期 Wiki;不修改 Admin、服务端、数据库、采购创建/地址/规格流程。 - 同时满足系统包/Activity 白名单、已知选择器标题和微信候选时,最多按一次返回;不点击任何微信候选。 - 回到 PDD 已知支付 Activity 或出现支付动作文字时,最多再按一次返回;不点击支付控件。 - 返回 PDD 后继续只读解析唯一订单号和下单时间;若选择器/支付页一次返回后仍存在、页面不在白名单、结果不唯一或超时,保持 `order_result_unknown`。 - 不允许重新创建任务、重新点击创建订单、取消订单或支付。 - CG-12 保持未知结果,待人工核对;实现期间不创建新正式任务。 ## 参考实现 - `D:\chengma\cmautobuy\client\src\pdd_u2_purchase_reconcile_adapter.py` - 复用其双证据选择器识别:系统包/Activity 白名单 + 选择器标题/微信候选。 - 复用“一次选择器返回 + 一次支付页返回”的有限状态,不照搬其保存原始 XML 行为。 ## 子项目影响 - 仅 Android Agent 与 Wiki。 - 不修改共享请求字段、数据库结构、权限或 UI。 ## 设计与原型门禁 - 恢复既有只读核单行为的 Android 缺陷,无 UI 页面变化,不需要原型。 ## 验收标准 - 已知 Android 多微信选择器最多安全返回一次,不点击微信。 - PDD 支付页最多安全返回一次,不点击支付。 - 返回订单详情后能读取唯一订单号和下单时间。 - 非白名单选择器、重复返回失败、歧义或超时保持未知结果。 - 已有创建订单一次性、地址、规格及禁止支付测试继续通过。 - Android 全量测试和 Debug APK 构建通过;APK 安装三星。 - 真机继续核单或创建新任务必须再次获得用户明确授权。 ## 文档影响 - 更新 Wiki `Business-Rules-and-Glossary`、`Android-Agent-API-Contract`。
Author
Owner

#66 已实施,停在待用户验收。

实现:

  • 多微信选择器必须同时满足 Android 系统包、Chooser/Resolver Activity 白名单、已知选择器标题和微信候选,才允许返回一次;绝不点击微信。
  • 返回 PDD 后,已知 PayActivity 或明确支付动作页面最多再返回一次;绝不点击支付。
  • 返回订单详情后只读解析唯一订单号和合法下单时间。
  • 非白名单页面、重复选择器/支付页、返回失败、歧义或超时保持未知结果;不重下单、不取消、不支付。

验证:

  • 已知选择器 → PDD 支付页 → 订单详情 → 唯一订单结果:测试通过。
  • 非白名单选择器不返回:测试通过。
  • Android 全量测试、Debug APK、组件验证:通过。
  • 最新 APK 已安装三星,设备在线、无障碍开启。
  • CG-12 保持 order_result_unknown,未重试、未自动解除、未支付。

提交:0ceb248
长期 Wiki revision:092d7df7156b270dbb2528eb8f28f40640b23cd2
任务归档:https://git.ilapage.cn/OPC/goauto/wiki/Task-66-Android-payment-chooser-reconciliation (revision 3332527e22a25e3267e41982bfcac585290790b0)

未验证:最新 APK 尚未用新的正式任务验证自动选择器恢复与订单号读取;再次创建订单或继续不可逆核单需要用户明确授权。

#66 已实施,停在待用户验收。 实现: - 多微信选择器必须同时满足 Android 系统包、Chooser/Resolver Activity 白名单、已知选择器标题和微信候选,才允许返回一次;绝不点击微信。 - 返回 PDD 后,已知 `PayActivity` 或明确支付动作页面最多再返回一次;绝不点击支付。 - 返回订单详情后只读解析唯一订单号和合法下单时间。 - 非白名单页面、重复选择器/支付页、返回失败、歧义或超时保持未知结果;不重下单、不取消、不支付。 验证: - 已知选择器 → PDD 支付页 → 订单详情 → 唯一订单结果:测试通过。 - 非白名单选择器不返回:测试通过。 - Android 全量测试、Debug APK、组件验证:通过。 - 最新 APK 已安装三星,设备在线、无障碍开启。 - CG-12 保持 `order_result_unknown`,未重试、未自动解除、未支付。 提交:`0ceb248` 长期 Wiki revision:`092d7df7156b270dbb2528eb8f28f40640b23cd2` 任务归档:https://git.ilapage.cn/OPC/goauto/wiki/Task-66-Android-payment-chooser-reconciliation (revision `3332527e22a25e3267e41982bfcac585290790b0`) 未验证:最新 APK 尚未用新的正式任务验证自动选择器恢复与订单号读取;再次创建订单或继续不可逆核单需要用户明确授权。
Author
Owner

用户已人工确认:CG-12 对应商品已出现在 PDD“待付款订单”。

结论:

  • CG-12 的创建订单点击确实成功,禁止再次创建或重试同一任务。
  • 全程未支付。
  • 当前仍缺唯一 PDD 订单号和下单时间,服务端必须继续保持 order_result_unknown,不能只凭“看见订单”直接改成成功。
  • 下一步应在订单详情只读取得订单号与下单时间,再通过现有人工解除接口填写两项并转为 order_created。

任务归档 revision:1c2416b52e2244fdafb49324afced75e23fad357

用户已人工确认:CG-12 对应商品已出现在 PDD“待付款订单”。 结论: - CG-12 的创建订单点击确实成功,禁止再次创建或重试同一任务。 - 全程未支付。 - 当前仍缺唯一 PDD 订单号和下单时间,服务端必须继续保持 `order_result_unknown`,不能只凭“看见订单”直接改成成功。 - 下一步应在订单详情只读取得订单号与下单时间,再通过现有人工解除接口填写两项并转为 `order_created`。 任务归档 revision:`1c2416b52e2244fdafb49324afced75e23fad357`
Author
Owner

用户于 2026-08-22 明确确认:#66 验收通过。

验收事实:CG-12 已出现在 PDD「待付款订单」中,创建订单后的多微信选择器恢复和只读核单路径满足本工单目标;未执行支付。

用户于 2026-08-22 明确确认:#66 验收通过。 验收事实:CG-12 已出现在 PDD「待付款订单」中,创建订单后的多微信选择器恢复和只读核单路径满足本工单目标;未执行支付。
ila closed this issue 2026-08-22 10:56:51 +08:00
Author
Owner

验收归档已更新并在线回读确认:

  • Wiki 页面:Task-66-Android-payment-chooser-reconciliation
  • Wiki revision:7b9f62c792706fc20d8efffba766293d57884df6
  • 验收标记:已确认存在
  • python dev_scripts/harness.py sync --check:通过
  • 实现提交:0ceb2482338f8bce84bb7bf4d0d9a8cfa74b0c42

工具说明:已优先尝试 Gitea MCP,但其仍连接旧 Gitea 地址,当前仓库返回 404;本次剩余评论按规则回退当前项目配置的 Gitea API。

验收归档已更新并在线回读确认: - Wiki 页面:`Task-66-Android-payment-chooser-reconciliation` - Wiki revision:`7b9f62c792706fc20d8efffba766293d57884df6` - 验收标记:已确认存在 - `python dev_scripts/harness.py sync --check`:通过 - 实现提交:`0ceb2482338f8bce84bb7bf4d0d9a8cfa74b0c42` 工具说明:已优先尝试 Gitea MCP,但其仍连接旧 Gitea 地址,当前仓库返回 404;本次剩余评论按规则回退当前项目配置的 Gitea API。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#66