feat(market-data): 优化同步并增加完整性检查

This commit is contained in:
yuxuanhui
2026-08-11 11:20:13 +08:00
parent 3ce186f977
commit 7ce11543af
42 changed files with 4837 additions and 197 deletions
@@ -0,0 +1,50 @@
import { requestJson } from "@/shared/api/request-json"
import {
defaultMarketIntegrityQuery,
type IntegrityCheckAccepted,
type MarketIntegrityCheck,
type MarketIntegrityQuery,
} from "./sync.types"
const integrityChecksPath = "/api/v1/market-data/integrity-checks"
export function triggerIntegrityCheck(signal?: AbortSignal) {
return requestJson<IntegrityCheckAccepted>(integrityChecksPath, {
method: "POST",
signal,
})
}
export function getLatestIntegrityCheck(
query: MarketIntegrityQuery = defaultMarketIntegrityQuery,
signal?: AbortSignal,
) {
return requestJson<MarketIntegrityCheck>(
`${integrityChecksPath}/latest?${buildQuery(query)}`,
{ signal },
)
}
export function getIntegrityCheck(
checkId: string,
query: MarketIntegrityQuery = defaultMarketIntegrityQuery,
signal?: AbortSignal,
) {
return requestJson<MarketIntegrityCheck>(
`${integrityChecksPath}/${encodeURIComponent(checkId)}?${buildQuery(query)}`,
{ signal },
)
}
function buildQuery(query: MarketIntegrityQuery) {
const params = new URLSearchParams({
page: String(query.page),
page_size: String(query.pageSize),
})
return params.toString()
}
export const getMarketIntegrityCheck = getIntegrityCheck
export const getLatestMarketIntegrityCheck = getLatestIntegrityCheck
export const triggerMarketIntegrityCheck = triggerIntegrityCheck