fix(sms): 电信回执 status=6(MA:0038 限流)纳入失败映射,不再静默丢弃
电信下行回执查询对"短期频繁发送"类返回 status=6 / stat=MA:0038, 原代码仅处理 status=5,status=6 无分支被直接丢弃 —— 该类短信永远 进不了失败/重试链路。改为 status==5 || status==6 一并走 buildFailureResult, 由 push_provider_error_code_mapping.should_retry 决定是否重试。 这是限流类无限重试治本(批次1-3)在回执侧的触发点,与库内 MA:0038 -> RATE_LIMIT 映射种子(TD-2)缺一不可。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -200,7 +200,9 @@ public class TelecomSmsSender implements SmsSender {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
TelecomSmsSelectDetailRes detailRes = selectResponse.getList().get(0);
|
TelecomSmsSelectDetailRes detailRes = selectResponse.getList().get(0);
|
||||||
if (detailRes.getStatus() == 5) {
|
// status=5 为明确失败;status=6 为“短期频繁发送”等场景(stat 如 MA:0038),
|
||||||
|
// 同样走错误码映射,由 push_provider_error_code_mapping.should_retry 决定是否重试。
|
||||||
|
if (detailRes.getStatus() == 5 || detailRes.getStatus() == 6) {
|
||||||
SendResult failedResult = this.sender.buildFailureResult(
|
SendResult failedResult = this.sender.buildFailureResult(
|
||||||
message,
|
message,
|
||||||
detailRes.getStat(),
|
detailRes.getStat(),
|
||||||
|
|||||||
Reference in New Issue
Block a user