fix(小宝预警): 合并远端风险缓存
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user