feat: densify sms records and improve uplink matching

This commit is contained in:
hectorzhao
2026-08-27 10:15:08 +08:00
parent 898471423f
commit a280b4bb22
25 changed files with 859 additions and 154 deletions
+10 -6
View File
@@ -52,10 +52,10 @@ export function ClientUplinkMessagesPage() {
function openDetail(message: SmsUplinkMessage) {
setSelectedMessage(message);
setMatchedRecords([]);
setMatchedRecords(message.messageRecord ? [message.messageRecord] : []);
setDetailError('');
if (!message.messageId) {
if (message.messageRecord || !message.messageId) {
return;
}
@@ -142,7 +142,10 @@ export function ClientUplinkMessagesPage() {
{ label: '手机号码', value: selectedMessage.phoneNumber },
{ label: '上行时间', value: getTime(selectedMessage.receivedAt) },
{ label: '接入号码', value: selectedMessage.destId },
{ label: '网关消息ID', value: selectedMessage.messageId || '-' },
{ label: '上行网关消息ID', value: selectedMessage.gatewayMessageId || '-' },
{ label: '关联平台消息ID', value: selectedMessage.messageRecord?.messageId ?? selectedMessage.messageId ?? '-' },
{ label: '匹配状态', value: selectedMessage.matchStatus || '-' },
{ label: '匹配说明', value: selectedMessage.matchReason || '-', full: true },
{ label: '上行内容', value: selectedMessage.content, full: true },
]}
/>
@@ -151,9 +154,10 @@ export function ClientUplinkMessagesPage() {
<DetailSection title="匹配发送记录">
{matching ? <p className="uplink-detail-hint">...</p> : null}
{detailError ? <p className="form-error">{detailError}</p> : null}
{!matching && !selectedMessage.messageId ? <p className="uplink-detail-hint">ID</p> : null}
{!matching && selectedMessage.messageId && matchedRecords.length === 0 && !detailError ? (
<p className="uplink-detail-hint"></p>
{!matching && matchedRecords.length === 0 && !detailError ? (
<p className="uplink-detail-hint">
{selectedMessage.matchStatus === 'ambiguous' ? '该上行存在多个候选,请联系运营人员认领。' : '未匹配到真实下发记录。'}
</p>
) : null}
{matchedRecords.length > 0 ? (
<div className="uplink-match-list">