init: 橘视厅酒店版会员系统前端

This commit is contained in:
zhaogd
2026-07-26 12:54:46 +08:00
commit 690568861b
243 changed files with 42311 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
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)
}