完成查询asin开发

This commit is contained in:
super
2026-04-23 20:48:57 +08:00
parent 72fdb1841c
commit 326f78705d
95 changed files with 6009 additions and 50 deletions

View File

@@ -581,6 +581,7 @@ export interface ProductRiskShopQueueItem {
matchedUserId?: number;
matchStatus?: string;
matchMessage?: string;
queryAsins?: QueryAsinCountryAsins[];
}
export interface ProductRiskMatchShopsVo {
@@ -1189,6 +1190,165 @@ export function deletePatrolDeleteHistory(resultId: number) {
);
}
export type QueryAsinCandidateVo = ProductRiskCandidateVo;
export type QueryAsinDashboardVo = ProductRiskDashboardVo;
export type QueryAsinShopQueueItem = ProductRiskShopQueueItem;
export interface QueryAsinCountryAsins {
country: string;
asins: string[];
}
export interface QueryAsinTaskItem {
shopName?: string;
matched?: boolean;
shopId?: string;
platform?: string;
companyName?: string;
matchStatus?: string;
matchMessage?: string;
queryAsins: QueryAsinCountryAsins[];
}
export interface QueryAsinHistoryItem {
resultId?: number;
taskId?: number;
shopName?: string;
shopId?: string;
platform?: string;
companyName?: string;
matched?: boolean;
matchStatus?: string;
matchMessage?: string;
taskStatus?: string;
success?: boolean;
error?: string;
createdAt?: string;
finishedAt?: string;
outputFilename?: string;
downloadUrl?: string;
queryAsins: QueryAsinCountryAsins[];
}
export interface QueryAsinHistoryVo {
items: QueryAsinHistoryItem[];
}
export interface QueryAsinTaskBatchVo {
items: QueryAsinHistoryItem[];
missingTaskIds: number[];
}
export interface QueryAsinCreateTaskVo {
taskId: number;
items: QueryAsinHistoryItem[];
}
export function listQueryAsinCandidates() {
return unwrapJavaResponse(
get<JavaApiResponse<QueryAsinCandidateVo[]>>(`${JAVA_API_PREFIX}/query-asin/candidates`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function addQueryAsinCandidate(shopName: string) {
return unwrapJavaResponse(
post<JavaApiResponse<QueryAsinCandidateVo>, { user_id: number; shop_name: string }>(
`${JAVA_API_PREFIX}/query-asin/candidates`,
{ user_id: getCurrentUserId(), shop_name: shopName },
),
);
}
export function deleteQueryAsinCandidate(id: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(`${JAVA_API_PREFIX}/query-asin/candidates/${id}`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function matchQueryAsinShops(shopNames: string[]) {
return unwrapJavaResponse(
post<JavaApiResponse<ProductRiskMatchShopsVo>, { user_id: number; shop_names: string[] }>(
`${JAVA_API_PREFIX}/query-asin/match-shops`,
{ user_id: getCurrentUserId(), shop_names: shopNames },
),
);
}
export function getQueryAsinDashboard() {
return unwrapJavaResponse(
get<JavaApiResponse<QueryAsinDashboardVo>>(`${JAVA_API_PREFIX}/query-asin/dashboard`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function getQueryAsinHistory() {
return unwrapJavaResponse(
get<JavaApiResponse<QueryAsinHistoryVo>>(`${JAVA_API_PREFIX}/query-asin/history`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function getQueryAsinTaskProgressBatch(taskIds: number[]) {
return postTaskProgressBatch<QueryAsinTaskBatchVo>(
`${JAVA_API_PREFIX}/query-asin/tasks/progress/batch`,
taskIds,
);
}
export function createQueryAsinTask(items: QueryAsinTaskItem[]) {
return unwrapJavaResponse(
post<JavaApiResponse<QueryAsinCreateTaskVo>, { user_id: number; items: QueryAsinTaskItem[] }>(
`${JAVA_API_PREFIX}/query-asin/tasks`,
{ user_id: getCurrentUserId(), items },
),
);
}
export function submitQueryAsinTaskResult(
taskId: number,
payload: {
shops: Array<{
shopName: string;
error?: string;
queryAsins: QueryAsinCountryAsins[];
shopDone?: boolean;
submissionId?: string;
chunkIndex?: number;
chunkTotal?: number;
}>;
},
) {
return unwrapJavaResponse(
post<JavaApiResponse<null>, typeof payload>(`${JAVA_API_PREFIX}/query-asin/tasks/${taskId}/result`, payload),
);
}
export function getQueryAsinResultDownloadUrl(resultId: number) {
return getJavaDownloadUrl(`/query-asin/results/${resultId}/download`);
}
export function deleteQueryAsinTask(taskId: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(`${JAVA_API_PREFIX}/query-asin/tasks/${taskId}`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function deleteQueryAsinHistory(resultId: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(`${JAVA_API_PREFIX}/query-asin/history/${resultId}`, {
params: { user_id: getCurrentUserId() },
}),
);
}
// ========== 跟价 ==========
export interface PriceTrackCandidateVo {