hl-api-changelog/changelogs-v2/2026-06/12_3715_司机审核驳回短信真发上线与H5驳回重提放行-行为变更-司机H5与管理后台.md

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),驳回后原链接重提回待审

⚠️ 关键说明

  1. 驳回短信从「日志桩」变成「真发」:此前 LogStubNotificationServiceImpl 只打日志、司机实际收不到任何短信;现在车管驳回司机档案申请时,系统经通知中心给司机手机号真实发送阿里云短信(签名「呼籁旅行」)。测试环境驳回操作会真发短信,联调时请用可控手机号
  2. H5 行为变更(前端可感知):司机被驳回后用原链接重新打开/修改/提交,不再返回 600302「邀请链接已使用」——init/ocr/submit 全放行;重提成功后该申请单回到待审状态。hl-ui 司机 H5 若对 600302 有特判文案/拦截页,请确认驳回场景不再命中(600302 现在仅 approved 终态返回)。
  3. 短信文案(阿里云已过审模板,变量 ≤2):${name}您好,您提交的司机档案审核未通过,原因:${reason},请重新打开原链接修改后提交。
  4. ⚠️ 阿里云模板变量 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. 后端内部变更(前端无需关注,备查)

  1. NotificationEventMessage 新增 phone 字段(directPhone 收件通道,给非 C 端/非员工的裸手机号收件人发短信,当前仅 SMS 通道消费)。
  2. 通知中心 SMS 通道支持裸手机号:phone 优先,无则按原 userId 反查,双空跳过。
  3. 新增事件码 DRIVER_REVIEW_REJECTED(Flyway V20260612_001 种子,模板码 SMS_507190242 已回填)。
  4. fleet 新增错误码 605701(通知中心降级,业务旁路不阻断驳回)。
  5. 发录入链接短信(DRIVER_ONBOARD_LINK_SENT)未上线——当前代码无「发送链接」动作,待重发端点立项时一并落地。