kate522
1875470ac7
fix(after-sale): 售后工单已完结仍可再次申请,改由订单是否已退款决定
上一个提交把「工单 completed」当成了不能再申请售后的判据,方向搞反了:
能否再售后应该看订单有没有被标「已退款」,而不是看工单状态。订单已退款时
status_group 变成 refunded、enabled 直接为 false,那道闸门本来就够用;用工单
状态再判一次,反而把「工单已完结但订单没退款」的用户堵死,售后详细弹窗底部
也只剩下一个「我知道了」死胡同。
- reapplyable_statuses 补上 STATUS_COMPLETED:rejected / cancelled / completed
一律放行再次申请,售后详细弹窗底部按钮对已完成订单渲染「再次申请售后」
- can_apply 还原为只看有没有进行中的工单(!open),不再二次校验工单状态
- create() 的重复申请闸门还原为 find_active():只挡仍在流转的工单,
completed 不挡;订单已退款由上面的 STATUS_PAID 校验先挡掉
- 点「再次申请售后」后清 has_application 落回申请表单,提交走 create()
新建工单,链路本来就通,无需改动
harness 场景名改为 settled_ticket_still_allows_reapply,断言 completed /
rejected / cancelled 三种已终结状态都能新建工单;待审核工单同因幂等、换因
挡住的场景保留。
验证:tests/widget-system/ 462 项、tests/admin/ 76 项通过;after-sale-log-harness
7/7。未做浏览器视觉验收。
2026-10-09 18:38:18 +08:00
..
2026-09-21 20:53:12 +08:00
2026-10-06 09:41:11 +08:00
2026-10-06 09:26:55 +08:00
2026-09-21 20:53:12 +08:00
2026-10-06 19:41:25 +08:00
2026-09-26 21:43:24 +08:00
2026-10-09 18:38:18 +08:00
2026-10-09 18:38:18 +08:00
2026-10-06 22:21:47 +08:00
2026-10-05 16:42:25 +08:00
2026-09-19 12:54:22 +08:00
2026-09-19 11:34:12 +08:00
2026-09-06 12:59:44 +08:00
2026-10-07 09:20:59 +08:00
2026-10-06 01:09:04 +08:00
2026-09-03 13:59:07 +08:00
2026-09-24 11:04:49 +08:00
2026-09-18 18:38:07 +08:00
2026-08-29 15:50:04 +08:00
2026-09-24 21:13:24 +08:00
2026-08-30 20:38:25 +08:00
2026-09-27 00:37:00 +08:00
2026-09-04 19:52:56 +08:00
2026-09-03 12:44:31 +08:00
2026-10-06 14:35:14 +08:00
2026-09-13 20:02:56 +08:00
2026-10-08 21:14:56 +08:00
2026-09-04 22:53:33 +08:00
2026-09-24 11:04:49 +08:00
2026-10-06 01:09:04 +08:00
2026-10-06 13:23:05 +08:00
2026-09-19 17:06:19 +08:00
2026-10-06 15:54:47 +08:00
2026-09-21 21:31:16 +08:00
2026-09-05 22:28:19 +08:00
2026-10-03 22:22:15 +08:00
2026-08-25 18:22:30 +08:00
2026-08-25 18:11:26 +08:00
2026-08-25 18:34:17 +08:00
2026-09-03 12:44:31 +08:00
2026-09-02 13:03:24 +08:00
2026-10-09 18:38:18 +08:00
2026-09-18 17:34:00 +08:00
2026-09-16 17:24:22 +08:00
2026-10-06 14:13:51 +08:00
2026-10-05 16:42:25 +08:00
2026-09-18 19:01:19 +08:00
2026-10-06 20:17:58 +08:00
2026-10-06 19:35:56 +08:00
2026-10-07 09:20:59 +08:00
2026-10-04 19:19:29 +08:00
2026-09-28 21:27:44 +08:00
2026-09-28 21:58:43 +08:00
2026-09-22 19:53:03 +08:00
2026-09-21 20:53:12 +08:00
2026-09-04 22:53:33 +08:00
2026-10-06 19:52:03 +08:00
2026-09-21 20:53:12 +08:00
2026-10-05 03:24:42 +08:00
2026-10-06 09:26:55 +08:00
2026-10-06 11:09:05 +08:00
2026-10-06 11:09:05 +08:00
2026-10-06 13:23:05 +08:00
2026-10-06 11:09:05 +08:00
2026-10-06 01:09:04 +08:00
2026-09-17 19:04:47 +08:00
2026-08-23 22:09:12 +08:00
2026-09-03 21:33:30 +08:00
2026-09-03 21:33:30 +08:00
2026-10-06 01:09:04 +08:00
2026-09-14 12:53:20 +08:00
2026-10-05 20:55:20 +08:00
2026-10-06 01:09:04 +08:00
2026-09-23 14:30:54 +08:00
2026-10-03 22:22:15 +08:00