99 lines
3.1 KiB
TypeScript
99 lines
3.1 KiB
TypeScript
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)
|
||
}
|