task-117(任务与重复分析中心): 实现重复检查明细列表

新增 duplicate-filter.ts(明细筛选 snake 查询) 与 parseDuplicateItemsPage/
fetchDuplicateItems(GET /duplicate-check-items)。

TDD: task-117.test.ts 8 用例先 RED 后 GREEN。
This commit is contained in:
2026-09-05 17:25:41 +08:00
parent b5a1a51403
commit 479cc449d6
4 changed files with 189 additions and 1 deletions
@@ -1,6 +1,7 @@
/** 店铺数据重复检查适配(任务 115-119):/api/admin/shop-data-crawl/duplicate-check-* 系列端点。 */
import { http } from '@/api/http'
import { parseDuplicateOverview, type DuplicateOverview } from './duplicate-model.ts'
import { parseDuplicateItemsPage, parseDuplicateOverview, type DuplicateOverview } from './duplicate-model.ts'
import { toDuplicateItemsQuery, type DuplicateFilter } from './duplicate-filter.ts'
export const DUPLICATE_CHECK_ENDPOINT = '/api/admin/shop-data-crawl'
@@ -11,3 +12,15 @@ export async function fetchDuplicateOverview(force = false): Promise<DuplicateOv
})
return parseDuplicateOverview(data)
}
/** 加载撞款明细分页列表:GET /duplicate-check-items。 */
export async function fetchDuplicateItems(
filter: DuplicateFilter,
page: number,
pageSize: number,
): Promise<ReturnType<typeof parseDuplicateItemsPage>> {
const { data } = await http.get<unknown>(`${DUPLICATE_CHECK_ENDPOINT}/duplicate-check-items`, {
params: toDuplicateItemsQuery(filter, page, pageSize),
})
return parseDuplicateItemsPage(data)
}