fix(小宝预警): 合并远端风险缓存

This commit is contained in:
Script Generator
2026-06-29 18:44:59 +08:00
parent db72a420f5
commit b11830278c
3 changed files with 88 additions and 11 deletions

View File

@@ -45,3 +45,23 @@ export function upsertDailySnapshot(
...rows.filter((row) => row.versionId !== item.versionId || row.date !== item.date),
];
}
export function mergeDailySnapshotCacheForSave(
localRows: XiaobaoRiskSnapshot[],
remoteRows: XiaobaoRiskSnapshot[],
item: XiaobaoRiskSnapshot,
): XiaobaoRiskSnapshot[] {
const remoteKeys = new Set(remoteRows.map((row) => `${row.versionId}::${row.date}`));
const localOnly = localRows.filter((row) => !remoteKeys.has(`${row.versionId}::${row.date}`));
return upsertDailySnapshot([...remoteRows, ...localOnly], item);
}
export function mergeInsightCacheForSave(
localRows: XiaobaoRiskInsightCacheItem[],
remoteRows: XiaobaoRiskInsightCacheItem[],
item: XiaobaoRiskInsightCacheItem,
): XiaobaoRiskInsightCacheItem[] {
const remoteKeys = new Set(remoteRows.map((row) => `${row.versionId}::${row.riskSignature}`));
const localOnly = localRows.filter((row) => !remoteKeys.has(`${row.versionId}::${row.riskSignature}`));
return upsertInsight([...remoteRows, ...localOnly], item);
}