limeng
d19409627a
feat(快递入驻): 快递扫码填写入驻资料 + 两级审核 + 首版报价 + 签署开通
快递应付 → 快递报价 下新增「快递入驻」页:生成入驻二维码发给快递方,
对方免登录在手机上填写主体、联系人、结算账户、报价并上传资质,
内部对接人初审、管理员财务复审后生成首版报价,协议签署完成后开通。
- 新增三张表 business_courier_onboardings / _files / _events(纯新增,不改旧表)
- 免登录填报页 /onboarding/courier/{token}:40 位随机 token,可暂存、提交、退回后补件,
链接有效期可延长、可作废;银行账号加密存储;附件存 uploads 盘
- 内置纯 PHP 二维码生成(App\Support\QrCode,SVG 输出,无新增依赖)
- 财务复审:确认系统快递名称(唯一),快递所填报价写成报价管理的 CourierQuoteVersion,
可直接在协议签署页发起报价确认单;初审人不能复审
- 开通:需匹配到已签署的协议签署任务,或填写线下签署说明
- 快递资料页新增「入驻快递」页签,列出已开通的入驻快递
- 新增 CourierOnboardingWorkflowTest(8 个用例),更新快递报价目录顺序断言
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gzfsnV3fJ89CoUy1D9V9g
2026-10-12 17:37:44 +08:00
..
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-24 12:18:01 +08:00
2026-08-04 14:47:27 +08:00
2026-07-22 15:19:30 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 18:43:52 +08:00
2026-07-21 19:20:55 +08:00
2026-08-04 14:23:06 +08:00
2026-07-22 15:16:57 +08:00
2026-07-23 13:31:39 +08:00
2026-07-24 12:18:01 +08:00
2026-07-24 13:40:03 +08:00
2026-07-24 18:20:33 +08:00
2026-08-15 16:48:12 +08:00
2026-08-14 15:21:49 +08:00
2026-08-15 16:48:12 +08:00
2026-08-14 16:38:33 +08:00
2026-09-22 18:50:23 +08:00
2026-08-25 15:34:39 +08:00
2026-08-29 11:29:04 +08:00
2026-08-29 09:34:07 +08:00
2026-08-29 11:29:04 +08:00
2026-08-29 11:29:04 +08:00
2026-08-31 16:37:38 +08:00
2026-08-31 18:49:00 +08:00
2026-09-01 09:15:17 +08:00
2026-09-01 11:34:37 +08:00
2026-09-01 12:59:03 +08:00
2026-09-02 16:53:42 +08:00
2026-09-02 18:22:17 +08:00
2026-09-02 18:22:17 +08:00
2026-09-03 15:42:46 +08:00
2026-09-04 23:38:56 +08:00
2026-09-07 09:41:59 +08:00
2026-09-07 14:41:37 +08:00
2026-09-07 11:55:37 +08:00
2026-09-09 10:46:17 +08:00
2026-09-09 10:46:17 +08:00
2026-09-09 10:46:17 +08:00
2026-09-08 07:02:25 +08:00
2026-09-08 14:30:48 +08:00
2026-09-09 13:56:38 +08:00
2026-09-09 14:04:43 +08:00
2026-09-09 14:38:43 +08:00
2026-09-09 15:26:41 +08:00
2026-09-09 15:38:44 +08:00
2026-09-09 16:54:08 +08:00
2026-09-09 17:53:36 +08:00
2026-09-14 14:28:20 +08:00
2026-09-11 11:23:21 +08:00
2026-09-11 12:25:36 +08:00
2026-09-20 15:44:01 +08:00
2026-09-14 11:38:56 +08:00
2026-09-12 20:29:43 +08:00
2026-09-12 19:39:21 +08:00
2026-09-12 20:29:43 +08:00
2026-09-15 09:32:44 +08:00
2026-09-14 11:02:29 +08:00
2026-09-15 09:21:09 +08:00
2026-09-14 13:55:28 +08:00
2026-09-16 18:20:25 +08:00
2026-09-22 14:49:09 +08:00
2026-09-18 14:27:39 +08:00
2026-09-18 15:07:43 +08:00
2026-09-20 15:44:01 +08:00
2026-09-20 15:44:01 +08:00
2026-09-20 22:19:11 +08:00
2026-09-21 10:42:13 +08:00
2026-09-21 01:08:46 +08:00
2026-09-21 18:20:15 +08:00
2026-09-22 14:55:44 +08:00
2026-09-23 11:09:24 +08:00
2026-09-22 19:07:11 +08:00
2026-09-22 18:50:23 +08:00
2026-09-24 10:29:59 +08:00
2026-09-26 22:45:37 +08:00
2026-09-28 16:33:38 +08:00
2026-09-27 17:25:04 +08:00
2026-09-29 15:21:47 +08:00
2026-09-29 15:33:20 +08:00
2026-09-30 16:36:24 +08:00
2026-09-30 09:50:50 +08:00
2026-09-30 09:55:51 +08:00
2026-09-30 16:40:16 +08:00
2026-10-06 18:42:12 +08:00
2026-10-06 18:42:12 +08:00
2026-10-06 22:08:08 +08:00
2026-10-06 13:42:30 +08:00
2026-10-06 13:42:30 +08:00
2026-10-06 14:43:49 +08:00
2026-10-06 19:02:22 +08:00
2026-10-07 10:41:00 +08:00
2026-10-07 11:20:03 +08:00
2026-10-07 11:20:03 +08:00
2026-10-07 17:08:46 +08:00
2026-10-07 14:08:20 +08:00
2026-10-08 11:26:46 +08:00
2026-10-08 13:30:55 +08:00
2026-10-08 13:30:55 +08:00
2026-10-08 15:37:11 +08:00
2026-10-12 09:33:24 +08:00
2026-10-09 17:36:14 +08:00
2026-10-10 13:41:03 +08:00
2026-10-10 16:06:02 +08:00
2026-10-12 17:37:44 +08:00
2026-10-12 11:56:00 +08:00