import http from '@/utils/httpRequest' import type { ManageListResponse, ManageResponse, ManagePageParams } from './types' /** * 合作伙伴天卡(卡密级别) */ export interface PartnerCardItem { id: number /** 合作伙伴UUID(字符串) */ partnerId: string /** 平台天卡池ID(day_card_pool.id) */ poolId: number /** 天卡卡密 */ cardCode: string /** 橘视厅第三方卡号 */ thirdCardNo: string /** 状态:AVAILABLE-可用 / CONSUMED-已消耗 / DISABLED-已禁用 */ status: 'AVAILABLE' | 'CONSUMED' | 'DISABLED' /** 消耗后绑定的设备ID(未消耗=null) */ deviceId: number | null /** 渠道机构ID(消耗时传入,未消耗=null) */ channelOrgId: number | null /** 采购批次号(同批次采购的天卡批次号相同) */ purchaseBatch: string /** 消耗时间(未消耗=null) */ consumedAt: string | null deleteFlag: string /** 创建时间(采购时间) */ createdAt: string updatedAt: string } /** * 库存统计 */ export interface PartnerCardStats { total: number available: number used: number } /** * 库存列表查询参数 */ export interface PartnerCardListParams extends ManagePageParams { /** 合作伙伴UUID(字符串) */ partnerId?: string /** 状态:AVAILABLE / CONSUMED / DISABLED */ status?: string /** 采购批次号 */ purchaseBatch?: string } /** * 采购天卡请求体(后端 @RequestParam,参数走 URL query) */ export interface PartnerCardPurchaseBody { /** 合作伙伴UUID(字符串) */ partnerId: string /** 采购卡数 */ quantity: number /** 金额(分) */ amount?: number remark?: string } /** 天卡库存列表(卡密级别) */ export function getPartnerCardList(params?: PartnerCardListParams): Promise> { return http.get(http.adornUrl('/manage/partner-card/list'), { params: http.adornParams(params || {}) }).then(res => res.data) } /** 采购天卡(划拨天卡到 partner 池子;后端 @RequestParam,参数走 URL query,不放 JSON body) */ export function purchasePartnerCard(data: PartnerCardPurchaseBody): Promise { return http.post( http.adornUrl('/manage/partner-card/purchase'), http.adornData({}), { params: http.adornParams({ partnerId: data.partnerId, quantity: data.quantity, amount: data.amount, remark: data.remark }, false) } ).then(res => res.data) } /** * 回退天卡请求体(后端 @RequestParam,参数走 URL query) */ export interface PartnerCardRevertBody { /** 合作伙伴UUID(字符串) */ partnerId: string /** 回退数量 */ quantity: number } /** 回退天卡(从 partner 池取 N 张 AVAILABLE 天卡回退;平台池 RESERVED->UNUSED,partner 池卡 DISABLED;@RequestParam,URL query) */ export function revertPartnerCard(data: PartnerCardRevertBody): Promise> { return http.post( http.adornUrl('/manage/partner-card/revert'), http.adornData({}), { params: http.adornParams({ partnerId: data.partnerId, quantity: data.quantity }, false) } ).then(res => res.data) }