/** 去重汇总列表查询适配(任务 62):GET /api/admin/dedupe-total-data + 共享筛选归一。 */ import { http } from '@/api/http' import { unwrap } from '@/api/envelope' import { normalizeAsinPageParams, toAsinPageQuery, type AsinListParams } from './asin-filter' import { parseDedupeTotalPage, parseDedupeGroupOptionList, type DedupeGroupOption, type DedupeTotalPageResult } from './dedupe-total-model' export const DEDUPE_TOTAL_ENDPOINT = '/api/admin/dedupe-total-data' /** 数据权限分组选项源(与店铺/去重共用同一分组集)。 */ export const DEDUPE_GROUPS_ENDPOINT = '/api/admin/shop-manages/groups' export async function fetchDedupeTotalList(params: Partial = {}): Promise { const normalized = normalizeAsinPageParams(params) const { data } = await http.get(DEDUPE_TOTAL_ENDPOINT, { params: toAsinPageQuery(normalized) }) return parseDedupeTotalPage(data) } export { type DedupeGroupOption } /** 编辑单行去重总数据(ASIN 值 + 分组):PUT /dedupe-total-data/{id}。 */ export async function updateDedupeTotal(id: number, dataValue: string, groupId: number): Promise { const { data } = await http.put(`${DEDUPE_TOTAL_ENDPOINT}/${id}`, { data_value: dataValue, group_id: groupId, }) unwrap(data) } /** 删除单行去重总数据:DELETE /dedupe-total-data/{id}。 */ export async function deleteDedupeTotal(id: number): Promise { const { data } = await http.delete(`${DEDUPE_TOTAL_ENDPOINT}/${id}`) unwrap(data) } /** 加载数据权限分组选项:GET /shop-manages/groups → {id,name,leaderUserId}[]。 */ export async function fetchDedupeTotalGroups(): Promise { const { data } = await http.get(DEDUPE_GROUPS_ENDPOINT) return parseDedupeGroupOptionList(data) }