{"id":174,"url":"https://git.ilapage.cn/api/v1/repos/OPC/goauto/issues/36","html_url":"https://git.ilapage.cn/OPC/goauto/issues/36","number":36,"user":{"id":2,"login":"ila","login_name":"","source_id":0,"full_name":"","email":"2+ila@noreply.git.ilapage.cn","avatar_url":"https://git.ilapage.cn/avatars/faaf175503307561b7b576285cea4e7f","html_url":"https://git.ilapage.cn/ila","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-08-10T14:40:32+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"ila"},"original_author":"","original_author_id":0,"title":"T34 Android 地址后缀、不可逆门禁与创建订单","body":"## 基本信息\n\n- 类型：需求 / Android / 高风险真实订单动作\n- 所属总体设计：#32\n- 阶段：待实施（受 #32 QuantUX 原型审核门禁阻塞）\n\n## 依赖与并行\n\n- 前置工单：#33、#34、#42\n- 是否允许并行：否；必须先证明规则驱动演练、Room任务记录和Outbox可靠\n- 原因：本工单只在已验收的安全执行基线上增加地址修改和一次性真实订单动作\n\n## 子项目影响\n\n- 交付单元：android / shared-docs\n- 是否跨子项目：是\n- 验证：Android单元、APK构建、规则模拟，以及用户再次确认后的真机验收\n\n## 做什么\n\n- 复用已验收的采购演练规则执行、Room任务/尝试记录和Outbox，不重复实现商品规格选择流程。\n- 仅`live`采购规则可以进入PDD确认订单和地址步骤；`rehearsal`在服务端和Agent双重拒绝。\n- 进入确认订单页后修改PDD App维护的固定收货地址。\n- 只清理末尾`(?:-|_)cg\\d+$`旧后缀，追加`_cg{task.id}`；禁止破坏真实地址主体。\n- 保存后返回确认页，验证当前后缀和基础地址均正确；失败时返回`shipping_address_update_failed`并禁止创建订单。\n- 最终再次复核商品、规格、数量、订单总价、目标包名/Activity和唯一创建订单按钮。\n- 点击创建订单前在本地事务持久化`order_submit_started`/`irreversible_action_at`及最终确认快照。\n- 创建订单按钮最多点击一次；无论点击结果是否明确，之后只能进入只读订单核对，绝不重新下单。\n- 只读核对获得唯一未付款PDD订单后保存订单号和下单时间，并通过既有Outbox幂等上报。\n- 进程重启后恢复核对/上报；零个或多个订单候选进入`order_result_unknown`并交由人工处理。\n- 同时遵守设备本地互斥和服务端PDD账号租约。\n\n## 不做什么\n\n- 永不点击支付，不处理免密支付，不自动判断人工支付结果。\n- 不保存账号凭据、原始控件树或截图，不使用OCR/VLM。\n- 不实现物流采集或货运宝回填。\n- 不把PDD具体文字和控件ID重新硬编码进流程服务；页面证据优先由规则提供。\n\n## 验收标准\n\n- [ ] 演练模式在任何规则组合下都不能调用地址和创建订单动作。\n- [ ] 地址保存后双重校验失败时绝不触发创建订单。\n- [ ] 数量1到N在同一个PDD订单中处理，不自动拆单。\n- [ ] 不可逆标记和最终确认快照先于唯一一次创建订单点击持久化。\n- [ ] Agent崩溃、重启和重复上报时只读核单或重发Outbox，不再次创建订单。\n- [ ] 登录失效、验证码、风控、人机验证、规格缺失、价格超限和结果未知均明确失败。\n- [ ] APK构建通过；真实下单测试必须单独获得用户确认且不支付。\n\n## 风险和回退\n\n本工单会修改真实PDD地址并创建真实待付款订单，属于高风险。真机阶段再次等待人工确认；可停用`live`采购能力并回退APK，演练和现有采集能力保持可用。","ref":"","assets":[],"labels":[],"milestone":null,"projects":null,"assignee":null,"assignees":null,"state":"closed","is_locked":false,"comments":5,"created_at":"2026-08-17T10:00:49+08:00","updated_at":"2026-08-22T11:38:03+08:00","closed_at":"2026-08-22T11:36:26+08:00","due_date":null,"time_estimate":0,"pull_request":null,"repository":{"id":4,"name":"goauto","owner":"OPC","full_name":"OPC/goauto"},"pin_order":0,"content_version":2}