feat: export author spread metrics

This commit is contained in:
wxs
2026-06-29 16:06:14 +08:00
parent 7839380613
commit 121977fd0d
14 changed files with 1117 additions and 20 deletions
+17 -1
View File
@@ -2,7 +2,8 @@ import type {
BackendMetrics,
MarketApiFailureReason,
MarketRecord,
MarketRowSnapshot
MarketRowSnapshot,
SpreadInfoMetrics
} from "./types";
import type { AfterSearchRates } from "./types";
@@ -46,6 +47,13 @@ export function createMarketResultStore() {
...backendMetrics
};
},
setSpreadMetricsSuccess(authorId: string, spreadMetrics: SpreadInfoMetrics) {
const existingRecord = ensureRecord(authorId);
existingRecord.spreadMetrics = {
...existingRecord.spreadMetrics,
...spreadMetrics
};
},
setAuthorSuccess(authorId: string, rates: AfterSearchRates) {
const existingRecord = ensureRecord(authorId);
existingRecord.status = "success";
@@ -73,6 +81,10 @@ export function createMarketResultStore() {
existingRecord.price21To60s,
row.price21To60s
);
existingRecord.spreadAuthorId = mergeStringValue(
existingRecord.spreadAuthorId,
row.spreadAuthorId
);
existingRecord.exportFields = mergeFieldMap(
existingRecord.exportFields,
row.exportFields
@@ -81,6 +93,10 @@ export function createMarketResultStore() {
existingRecord.backendMetrics,
row.backendMetrics
);
existingRecord.spreadMetrics = mergeFieldMap(
existingRecord.spreadMetrics,
row.spreadMetrics
);
existingRecord.hasDirectRatesSource =
existingRecord.hasDirectRatesSource || row.hasDirectRatesSource;
existingRecord.rates = mergeFieldMap(existingRecord.rates, row.rates);