3.5 KiB
3.5 KiB
【行为变更·司机H5+管理后台】司机审核驳回短信接通知中心真发上线,H5 驳回后原链接可重提
服务:hl-fleet-service(8087) + hl-user-service(8081/8181) | 分支:dev-v3 | PR:#3715(主) #3720 #3722(hotfix) | 工单:#3713 已部署测试服并 E2E 实测通过(2026-06-12):驳回短信经阿里云真实发出(模板 SMS_507190242),驳回后原链接重提回待审
⚠️ 关键说明
- 驳回短信从「日志桩」变成「真发」:此前
LogStubNotificationServiceImpl只打日志、司机实际收不到任何短信;现在车管驳回司机档案申请时,系统经通知中心给司机手机号真实发送阿里云短信(签名「呼籁旅行」)。测试环境驳回操作会真发短信,联调时请用可控手机号。 - H5 行为变更(前端可感知):司机被驳回后用原链接重新打开/修改/提交,不再返回
600302「邀请链接已使用」——init/ocr/submit 全放行;重提成功后该申请单回到待审状态。hl-ui 司机 H5 若对 600302 有特判文案/拦截页,请确认驳回场景不再命中(600302 现在仅 approved 终态返回)。 - 短信文案(阿里云已过审模板,变量 ≤2):
${name}您好,您提交的司机档案审核未通过,原因:${reason},请重新打开原链接修改后提交。 - ⚠️ 阿里云模板变量 name 是[个人姓名]类型,有姓名规范校验:实测非规范姓名(如带后缀的测试名)被拒发
isv.TEMPLATE_PARAMS_ILLEGAL。蒙古族长名/带「·」的姓名是否在规范内待实测,有拒发风险——拒发时业务不受影响(驳回正常生效),仅短信缺失,notification_send_log留痕 status=1。
1. 管理后台行为变更(无接口契约变化)
| 场景 | 旧行为 | 新行为 |
|---|---|---|
驳回 POST /admin/fleet/drivers/pending/{id}/reject |
仅日志,司机无感 | 落库后异步发短信(姓名+驳回原因,原因超 30 字短信内截断,完整原因仍在申请单详情) |
| 司机重提后 | 不可能发生(链接被 600302 拦死) | 申请单回到待审列表(reviewStatus=pending),驳回原因/审核人/审核时间清空,可再次审核 |
| 同一申请单 60 秒内重复驳回 | — | 第二次短信被幂等抑制(只发一条),驳回本身正常 |
2. 司机 H5 行为变更
| 场景 | 旧行为 | 新行为 |
|---|---|---|
| 驳回后打开原链接 | init 可看,但 ocr/提交返回 600302 |
全流程放行,可修改后重新提交 |
| 重提成功 | — | 返回 200 + pendingId(同一条申请单覆盖更新) |
| 审核通过(approved)后打开原链接 | 600302 |
不变,仍 600302(唯一终态) |
重提请求示例(与首次提交完全一致,无新参数)
curl -k -X POST "https://web.test.1814.love:9443/app/h5/driver-onboard/submit/new" \
-H "Content-Type: application/json" \
-d '{"token":"{原链接token}","name":"张三","phone":"13812341234","gender":"1"}'
3. 后端内部变更(前端无需关注,备查)
NotificationEventMessage新增phone字段(directPhone 收件通道,给非 C 端/非员工的裸手机号收件人发短信,当前仅 SMS 通道消费)。- 通知中心 SMS 通道支持裸手机号:
phone优先,无则按原userId反查,双空跳过。 - 新增事件码
DRIVER_REVIEW_REJECTED(Flyway V20260612_001 种子,模板码 SMS_507190242 已回填)。 - fleet 新增错误码
605701(通知中心降级,业务旁路不阻断驳回)。 - 发录入链接短信(DRIVER_ONBOARD_LINK_SENT)未上线——当前代码无「发送链接」动作,待重发端点立项时一并落地。