feat(platform): include release in alert digest

This commit is contained in:
lingniu
2026-07-04 15:46:22 +08:00
parent eaf7fcaa0e
commit ef45a75612
2 changed files with 7 additions and 3 deletions

View File

@@ -335,9 +335,10 @@ function priorityIssueTicketText(row: PriorityIssueRow) {
].join('\n');
}
function priorityIssueDigestText(rows: PriorityIssueRow[], summary: QualitySummary) {
function priorityIssueDigestText(rows: PriorityIssueRow[], summary: QualitySummary, platformRelease?: string) {
const p0Count = rows.filter((row) => row.priority === 'P0').length;
const p1Count = rows.filter((row) => row.priority === 'P1').length;
const release = platformRelease?.trim();
const lines = rows.map((row, index) => [
`${index + 1}. [${row.priority}] ${row.vehicleLabel}`,
` 来源:${qualityProtocolLabel(row.protocol)} / 问题:${qualityIssueLabel(row.issueType)}`,
@@ -348,6 +349,7 @@ function priorityIssueDigestText(rows: PriorityIssueRow[], summary: QualitySumma
'【告警优先队列汇总】',
`问题车辆:${summary.issueVehicleCount.toLocaleString()},问题记录:${summary.issueRecordCount.toLocaleString()}`,
`P0${p0Count.toLocaleString()}P1${p1Count.toLocaleString()}`,
...(release ? [`运行版本:${release}`] : []),
'',
...lines,
'',
@@ -602,7 +604,7 @@ export function Quality({
Toast.warning('当前没有可复制的优先告警');
return;
}
copyText(priorityIssueDigestText(priorityRows, notificationPlan?.summary ?? summary), '优先队列通知汇总');
copyText(priorityIssueDigestText(priorityRows, notificationPlan?.summary ?? summary, health?.runtime?.platformRelease), '优先队列通知汇总');
};
return (

View File

@@ -3338,7 +3338,7 @@ test('copies priority queue notification digest on quality page', async () => {
return {
ok: true,
json: async () => ({
data: { linkHealth: [], kafkaLag: 0, activeConnections: 120000, capacityFindings: [], redisOnlineKeys: 368, tdengineWritable: true, mysqlWritable: true, runtime: { requestTimeoutMs: 5000 } },
data: { linkHealth: [], kafkaLag: 0, activeConnections: 120000, capacityFindings: [], redisOnlineKeys: 368, tdengineWritable: true, mysqlWritable: true, runtime: { platformRelease: 'platform-20260704153951', requestTimeoutMs: 5000 } },
traceId: 'trace-test',
timestamp: 1783094400000
})
@@ -3412,9 +3412,11 @@ test('copies priority queue notification digest on quality page', async () => {
render(<App />);
expect(await screen.findByText('处置优先队列')).toBeInTheDocument();
expect(await screen.findByText('platform-20260704153951')).toBeInTheDocument();
fireEvent.click(screen.getByRole('button', { name: '复制优先队列通知汇总' }));
expect(writeText).toHaveBeenCalledWith(expect.stringContaining('【告警优先队列汇总】'));
expect(writeText).toHaveBeenCalledWith(expect.stringContaining('运行版本platform-20260704153951'));
expect(writeText).toHaveBeenCalledWith(expect.stringContaining('P01 条P11 条'));
expect(writeText).toHaveBeenCalledWith(expect.stringContaining('1. [P0] 粤A汇总1 / VIN-DIGEST-001'));
expect(writeText).toHaveBeenCalledWith(expect.stringContaining('确认平台转发'));