Files
as-partner-frontend/src/api/manage/partner-card.ts
2026-07-26 12:54:46 +08:00

99 lines
3.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<ManageListResponse<PartnerCardItem>> {
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<ManageResponse> {
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<ManageResponse<{ reverted: number }>> {
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)
}