39 lines
1.8 KiB
TypeScript
39 lines
1.8 KiB
TypeScript
/** 去重汇总列表查询适配(任务 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<AsinListParams> = {}): Promise<DedupeTotalPageResult> {
|
|
const normalized = normalizeAsinPageParams(params)
|
|
const { data } = await http.get<unknown>(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<void> {
|
|
const { data } = await http.put<unknown>(`${DEDUPE_TOTAL_ENDPOINT}/${id}`, {
|
|
data_value: dataValue,
|
|
group_id: groupId,
|
|
})
|
|
unwrap<unknown>(data)
|
|
}
|
|
|
|
/** 删除单行去重总数据:DELETE /dedupe-total-data/{id}。 */
|
|
export async function deleteDedupeTotal(id: number): Promise<void> {
|
|
const { data } = await http.delete<unknown>(`${DEDUPE_TOTAL_ENDPOINT}/${id}`)
|
|
unwrap<unknown>(data)
|
|
}
|
|
|
|
/** 加载数据权限分组选项:GET /shop-manages/groups → {id,name,leaderUserId}[]。 */
|
|
export async function fetchDedupeTotalGroups(): Promise<DedupeGroupOption[]> {
|
|
const { data } = await http.get<unknown>(DEDUPE_GROUPS_ENDPOINT)
|
|
return parseDedupeGroupOptionList(data)
|
|
}
|