fix: show raw receipt codes in sms details
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
- 2026-07-09 追加:按产品边界收窄通道测试短信,`SmsMessageRecord/SmsSubmitRecord/SmsReceiptRecord/SmsMessageSegmentAudit` 支持 `tenantId/batchTaskId` 为空;通道测试只记录短信、提交结果和回执,不进入企业账务、发送任务进度、客户侧 Deliver 推送或业务补发。
|
- 2026-07-09 追加:按产品边界收窄通道测试短信,`SmsMessageRecord/SmsSubmitRecord/SmsReceiptRecord/SmsMessageSegmentAudit` 支持 `tenantId/batchTaskId` 为空;通道测试只记录短信、提交结果和回执,不进入企业账务、发送任务进度、客户侧 Deliver 推送或业务补发。
|
||||||
- 2026-07-09 追加:生产验证短信进入 Gateway 后出现 `SUBMIT_TIMEOUT/context deadline exceeded`,上游平台疑似内容乱码;排查确认 API、数据库和 Redis Stream 中中文内容正常,`SubmitCommand.cmpp.msgFmt=8`,根因为 Gateway 在 CMPP 2.0 通道上仍固定构造 `Cmpp3SubmitReqPkt`。已修复为按通道 `cmppVersion` 分别构造 `Cmpp2SubmitReqPkt`/`Cmpp3SubmitReqPkt`,并同时处理 CMPP 2.0/3.0 SubmitResp。新增 `submit_packet_test.go` 覆盖 CMPP 2.0 中文 UCS2 Submit 包类型和长度。
|
- 2026-07-09 追加:生产验证短信进入 Gateway 后出现 `SUBMIT_TIMEOUT/context deadline exceeded`,上游平台疑似内容乱码;排查确认 API、数据库和 Redis Stream 中中文内容正常,`SubmitCommand.cmpp.msgFmt=8`,根因为 Gateway 在 CMPP 2.0 通道上仍固定构造 `Cmpp3SubmitReqPkt`。已修复为按通道 `cmppVersion` 分别构造 `Cmpp2SubmitReqPkt`/`Cmpp3SubmitReqPkt`,并同时处理 CMPP 2.0/3.0 SubmitResp。新增 `submit_packet_test.go` 覆盖 CMPP 2.0 中文 UCS2 Submit 包类型和长度。
|
||||||
- 2026-07-09 追加:生产验证 Submit 已 accepted 后未见 `SmsReceiptRecord`,结合上游为 CMPP 2.0 排查 Gateway readLoop,确认只处理 `Cmpp3DeliverReqPkt`,CMPP 2.0 回执 Deliver 即使到达连接也不会 ACK 或进入 receipt 事件链路。已修复为同时处理 `Cmpp2DeliverReqPkt`/`Cmpp3DeliverReqPkt`,分别返回 `Cmpp2DeliverRspPkt`/`Cmpp3DeliverRspPkt`,并统一 Deliver 解码、回执和上行处理。新增 `deliver_test.go` 覆盖 CMPP 2.0 `DELIVRD` 回执写入事件链路。
|
- 2026-07-09 追加:生产验证 Submit 已 accepted 后未见 `SmsReceiptRecord`,结合上游为 CMPP 2.0 排查 Gateway readLoop,确认只处理 `Cmpp3DeliverReqPkt`,CMPP 2.0 回执 Deliver 即使到达连接也不会 ACK 或进入 receipt 事件链路。已修复为同时处理 `Cmpp2DeliverReqPkt`/`Cmpp3DeliverReqPkt`,分别返回 `Cmpp2DeliverRspPkt`/`Cmpp3DeliverRspPkt`,并统一 Deliver 解码、回执和上行处理。新增 `deliver_test.go` 覆盖 CMPP 2.0 `DELIVRD` 回执写入事件链路。
|
||||||
|
- 2026-07-09 追加:运营端短信记录“发送详情 - 通道发送与回执”的“回执码”必须展示通道原始回执码 `SmsReceiptRecord.rawStatus`,用于和上游平台核对;该字段不再回退展示平台映射状态 `receiptStatus` 或提交状态。
|
||||||
|
|
||||||
## 2026-07-09 通道复制默认停用与真实连接池状态回写修复
|
## 2026-07-09 通道复制默认停用与真实连接池状态回写修复
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ function buildRouteRows(record: SmsMessageRecord): RouteRow[] {
|
|||||||
channel: submit.channel?.name ?? record.channel?.name ?? submit.channelId ?? '-',
|
channel: submit.channel?.name ?? record.channel?.name ?? submit.channelId ?? '-',
|
||||||
sentAt: submit.submittedAt ?? submit.createdAt,
|
sentAt: submit.submittedAt ?? submit.createdAt,
|
||||||
receiptAt: receipt?.deliveredAt,
|
receiptAt: receipt?.deliveredAt,
|
||||||
receiptCode: receipt?.rawStatus ?? receipt?.receiptStatus,
|
receiptCode: receipt?.rawStatus,
|
||||||
submitStatus: submit.submitStatus,
|
submitStatus: submit.submitStatus,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@@ -89,7 +89,7 @@ function buildRouteRows(record: SmsMessageRecord): RouteRow[] {
|
|||||||
channel: record.channel?.name ?? record.channelId ?? '-',
|
channel: record.channel?.name ?? record.channelId ?? '-',
|
||||||
sentAt: record.submittedAt ?? record.queuedAt,
|
sentAt: record.submittedAt ?? record.queuedAt,
|
||||||
receiptAt: record.deliveredAt,
|
receiptAt: record.deliveredAt,
|
||||||
receiptCode: record.receiptStatus,
|
receiptCode: receipts[0]?.rawStatus,
|
||||||
submitStatus: record.submitStatus,
|
submitStatus: record.submitStatus,
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
@@ -183,7 +183,7 @@ function SendDetailModal({
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<dt>回执码</dt>
|
<dt>回执码</dt>
|
||||||
<dd>{route.receiptCode ?? route.submitStatus ?? '-'}</dd>
|
<dd>{route.receiptCode ?? '-'}</dd>
|
||||||
</div>
|
</div>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user