- 设备管理: 自营设备固定 source=DIRECT, 第三方设备固定 source=PARTNER, 门店终端管理跳转带 storeOrgId 筛选
- 支付配置: 支持平台全局/渠道/代理商/门店四个层级, 列表显示层级标签与所属组织
- 订单管理: 显示渠道/代理商/门店名称, 设备列显示MAC地址
- 审计日志: 新增审计日志和橘视厅调用日志页面及菜单图标SQL
- 门店管理: 兼容 manage 接口统一返回格式 data:{page:{list}}
159 lines
4.5 KiB
TypeScript
159 lines
4.5 KiB
TypeScript
import http from '@/utils/httpRequest'
|
||
import type { ManageListResponse, ManageResponse, ManagePageParams } from './types'
|
||
|
||
// ===================== 天卡池 =====================
|
||
|
||
/** 天卡池实体 */
|
||
export interface DayCardPoolItem {
|
||
id: number
|
||
/** 卡密(橘视厅激活码) */
|
||
cardCode: string
|
||
/** 第三方引用标识(橘视厅免密登录 uid) */
|
||
thirdPartyRef: string
|
||
/** 第三方卡号(D + 24位随机,App 用于访问内容) */
|
||
thirdCardNo: string
|
||
cardType: string
|
||
partnerId: number
|
||
/** 状态: UNUSED / RESERVED / USED */
|
||
status: string
|
||
/** 激活状态: PENDING / SUCCESS / FAILED */
|
||
activateStatus: string
|
||
activateError: string | null
|
||
activatedAt: string | null
|
||
orderNo: string | null
|
||
deviceId: number | null
|
||
importBatchId: number | null
|
||
expireAt: string | null
|
||
usedAt: string | null
|
||
createdAt: string
|
||
updatedAt: string
|
||
}
|
||
|
||
/** 卡池列表参数 */
|
||
export interface DayCardPoolListParams extends ManagePageParams {
|
||
partnerId?: number
|
||
status?: string
|
||
cardCode?: string
|
||
orderNo?: string
|
||
}
|
||
|
||
/** 卡池统计 */
|
||
export interface DayCardPoolStats {
|
||
total: number
|
||
available: number
|
||
reserved: number
|
||
used: number
|
||
}
|
||
|
||
/** 导入卡密请求 */
|
||
export interface DayCardPoolImportData {
|
||
partnerId: number
|
||
cardCodes: string[]
|
||
}
|
||
|
||
/** 导入卡密响应 */
|
||
export interface DayCardPoolImportResult {
|
||
successCount: number
|
||
totalCount: number
|
||
}
|
||
|
||
/** 导入批次 */
|
||
export interface DayCardImportBatch {
|
||
id: number
|
||
batchNo: string
|
||
partnerId: number
|
||
status: string
|
||
totalCount: number
|
||
successCount: number
|
||
failCount: number
|
||
remark: string | null
|
||
createdAt: string
|
||
}
|
||
|
||
/** 获取天卡池列表 */
|
||
export function getDayCardPoolList (params?: DayCardPoolListParams): Promise<ManageListResponse<DayCardPoolItem>> {
|
||
return http.get(http.adornUrl('/manage/daycard/pool/list'), { params: http.adornParams(params || {}) }).then(res => res.data)
|
||
}
|
||
|
||
/** 获取卡池统计 */
|
||
export function getDayCardPoolStats (partnerId?: number): Promise<ManageResponse<{ stats?: DayCardPoolStats }>> {
|
||
return http.get(http.adornUrl('/manage/daycard/pool/stats'), { params: http.adornParams({ partnerId }) }).then(res => res.data)
|
||
}
|
||
|
||
/** 导入卡密 */
|
||
export function importDayCardPool (data: DayCardPoolImportData): Promise<ManageResponse<DayCardPoolImportResult>> {
|
||
return http.post(http.adornUrl('/manage/daycard/pool/import'), http.adornData(data)).then(res => res.data)
|
||
}
|
||
|
||
// ===================== 天卡订单 =====================
|
||
|
||
/** 天卡订单实体 */
|
||
export interface DayCardOrderItem {
|
||
id: number
|
||
orderNo: string
|
||
partnerId: number
|
||
deviceId: number
|
||
storeOrgId: number
|
||
channelOrgId: number
|
||
/** 卡号(值为 DayCardPoolEntity.cardCode) */
|
||
cardNo: string | null
|
||
/** 订单状态: CREATED / PAYING / PAID / PAY_FAILED / CANCELLED */
|
||
status: string
|
||
amount: number
|
||
/** 支付渠道: WECHAT 等 */
|
||
payChannel: string | null
|
||
/** 微信支付二维码链接 */
|
||
codeUrl: string | null
|
||
payNo: string | null
|
||
payAmount: number | null
|
||
payTime: string | null
|
||
expireTime: string | null
|
||
cancelTime: string | null
|
||
createdAt: string
|
||
updatedAt: string
|
||
/** 非表字段 */
|
||
partnerName?: string
|
||
deviceMac?: string
|
||
/** 设备MAC(deviceMac 为空时用此字段) */
|
||
mac?: string
|
||
deviceSn?: string
|
||
agentOrgId?: number
|
||
/** 组织路径快照 */
|
||
orgPathSnapshot?: string
|
||
channelOrderNo?: string
|
||
}
|
||
|
||
/** 订单列表参数 */
|
||
export interface DayCardOrderListParams extends ManagePageParams {
|
||
partnerId?: number
|
||
orderNo?: string
|
||
status?: string
|
||
startDate?: string
|
||
endDate?: string
|
||
}
|
||
|
||
/** 获取订单列表 */
|
||
export function getDayCardOrderList (params?: DayCardOrderListParams): Promise<ManageListResponse<DayCardOrderItem>> {
|
||
return http.get(http.adornUrl('/manage/daycard/list'), { params: http.adornParams(params || {}) }).then(res => res.data)
|
||
}
|
||
|
||
/** 获取订单详情 */
|
||
export function getDayCardOrderInfo (orderNo: string): Promise<ManageResponse<{ order?: DayCardOrderItem }>> {
|
||
return http.get(http.adornUrl(`/manage/daycard/info/${orderNo}`), { params: http.adornParams() }).then(res => res.data)
|
||
}
|
||
|
||
// ===================== 设备权益 =====================
|
||
|
||
/** 设备天卡权益 */
|
||
export interface DeviceBenefits {
|
||
hasBenefits: boolean
|
||
thirdCardNo?: string
|
||
cardCode?: string
|
||
expireAt?: string
|
||
}
|
||
|
||
/** 查询设备天卡权益 */
|
||
export function getDeviceBenefits (deviceId: number): Promise<ManageResponse<DeviceBenefits>> {
|
||
return http.get(http.adornUrl(`/manage/daycard/benefits/${deviceId}`), { params: http.adornParams() }).then(res => res.data)
|
||
}
|