hl-api-changelog/changelogs-v2/2026-08/04_5505_HOLD派车短信空串code降级-修改接口-管理后台.md
wx 1a03185395
一些检查失败了
changelog-filename-gate / validate (push) Failing after 1s
chore(changelog): #5505 HOLD派车短信空串code降级-修改接口-管理后台
2026-08-04 20:15:35 +08:00

4.0 KiB

schema, ticket, title, consumer, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
schema ticket title consumer change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base
hl-changelog/v2 5505 HOLD 派车短信空串 code 降级:不再被阿里云拒收,通知链路收敛 admin 修改接口 deployed verified pending 2026-08-04 HOLD待司机确认阶段派车短信因无真实行程短链code 为空)此前被阿里云 TEMPLATE_PARAMS_ILLEGAL 拒收、通知 outbox 无限重试;本次修复为按产品口径降级:短信通道明确 SKIPsend_log status=3 终态,原因含“短信按产品口径降级”,站内通知不受影响,outbox 收敛 SUCCESS。ASSIGNED 后真实短链短信ITINERARY_READY不受影响。 2026-08-04 dev-v3

【修改接口·管理后台】HOLD 派车短信空串 code 降级(#5505

PR: #5509 | 服务: fleet + user | 更新时间: 2026-08-04

1. 接口背景

HOLD待司机确认派车阶段创建派单后触发 FLEET_DISPATCH_CREATED 短信:模板 SMS_510265061 正文固定含 https://hr.1814.love/s/${code} 链接参数,但 HOLD 阶段组行未冻结(#5461不签发行程短链,code 为空串 → 阿里云以 isv.TEMPLATE_PARAMS_ILLEGAL 拒收整条短信,司机收不到通知且 fleet outbox 无限重试retry_count 持续增长)。

变更接口清单

# 接口名 方法 路径 变更类型 说明
1 通知发送日志 内部fleet→user 通知中心) 修改 reliable 短信 code 缺失/空串时明确 SKIPstatus=3,终态,不再外发含空链接参数的短信
2 派单事务 outbox 内部fleet 定时重放) 修改 HOLD 占位快照 + 短信明确 SKIP + 全部通道确定性终态时按降级结算收敛为 SUCCESS,不再重试

2. 行为变化

场景 原来 现在
HOLD 派车(待司机确认)短信 code="" 外发 → 阿里云 TEMPLATE_PARAMS_ILLEGAL 拒收 → send_log FAIL、outbox 无限重试 短信通道明确 SKIPsend_log status=3,fail_reason 含「短信按产品口径降级」,outbox 收敛 SUCCESS;站内通知不受影响
ASSIGNED 后真实短链短信ITINERARY_READY 正常发送 不变code 有值)
短信真实事故(模板配置错误等 FAIL FAIL 重试至 QUARANTINED 不变(不降级、不伪造成功)

3. 接口详情

  • 管理后台「通知日志」状态枚举不变0~6本次新增的短信 SKIP 使用既有 status=3SKIP,fail_reason 为降级说明,可据此识别 HOLD 占位短信
  • holdSentAt 语义不变只有真实外部通道成功才写入;HOLD 降级场景不写
  • 前端无字段/枚举变化;若通知日志页对 status=3 有专门文案,可补充「HOLD 占位短信降级(行程确认后发送)」类展示(非必须)

4. 前端需要做什么

无必须改动。可选:通知日志页 SKIPstatus=3文案适配。

5. 后端测试、部署与验证

  • 定向fleet AssignmentHoldNotificationEffectServiceTest 32/32新增降级结算收敛、真实 FAIL 不降级 2 用例;占位快照断言改为 code 键不出现;user SmsChannelSenderTest 37/37两个历史「空 code 允许发送」断言修正为 SKIP 降级;fleet HOLD/ITINERARY 12 类 + user Dispatcher/LogService 71 用例全绿
  • 模块验证:mvn -pl hl-fleet-service,hl-user-service -am verify——user 3518 全绿;fleet 3107 用例仅 ReleaseEOccupancyMysql8033RecoveryTest 10 错(缺 CI 专用属性 fleet.mysql.releaseE.finalMigrationSha256,基线 dev-v3 同失败,非本次引入)
  • 部署TEST fleettask_id=80bf903a+ usertask_id=4bb72dfd双实例 UP
  • 验证TEST 2026-08-04存量 PENDING HOLD_NOTIFICATION 事件重试后按降级收敛send_log SKIP 终态、outbox SUCCESS、无 TEMPLATE_PARAMS_ILLEGAL

关联 / 联系人

联系人

  • 后端负责人: @wx