Files
one-pipe-system/src/api/modules/agentRecharge.ts
2026-09-12 11:27:50 +08:00

128 lines
3.6 KiB
TypeScript

/**
* 代理充值相关 API
*/
import { BaseService } from '../BaseService'
import type {
AgentRecharge,
AgentRechargeQueryParams,
AgentRechargeListResponse,
CreateAgentRechargeRequest,
AgentRechargePaymentMethods,
AgentRechargePaymentVoucherOcrRequest,
AgentRechargePaymentVoucherOcrResponse,
AgentRechargePaymentStatusResponse,
ConfirmOfflinePaymentRequest,
RejectAgentRechargeRequest,
BaseResponse
} from '@/types/api'
export class AgentRechargeService extends BaseService {
/**
* 获取代理在线充值可用支付方式和金额限制
*/
static getPaymentMethods(): Promise<BaseResponse<AgentRechargePaymentMethods>> {
return this.get<BaseResponse<AgentRechargePaymentMethods>>(
'/api/admin/agent-recharges/payment-methods'
)
}
/**
* 获取代理自充可用支付方式和金额限制
* 仅代理与平台账号可用,超级管理员调用返回 403
*/
static getSelfRechargePaymentMethods(): Promise<BaseResponse<AgentRechargePaymentMethods>> {
return this.get<BaseResponse<AgentRechargePaymentMethods>>(
'/api/admin/agent-self-recharge-payment-methods'
)
}
/**
* 识别付款凭证中的交易流水号
* 只返回预填值,识别较慢且失败不阻断人工填写
*/
static recognizePaymentVoucher(
data: AgentRechargePaymentVoucherOcrRequest
): Promise<BaseResponse<AgentRechargePaymentVoucherOcrResponse>> {
return this.post<BaseResponse<AgentRechargePaymentVoucherOcrResponse>>(
'/api/admin/agent-recharges/payment-voucher-ocr',
data,
{ timeout: 30000 }
)
}
/**
* 获取代理充值订单列表
* @param params 查询参数
*/
static getAgentRecharges(
params?: AgentRechargeQueryParams
): Promise<BaseResponse<AgentRechargeListResponse>> {
return this.get<BaseResponse<AgentRechargeListResponse>>('/api/admin/agent-recharges', params)
}
/**
* 获取代理充值订单详情
* @param id 充值订单ID
*/
static getAgentRechargeById(id: number): Promise<BaseResponse<AgentRecharge>> {
return this.getOne<AgentRecharge>(`/api/admin/agent-recharges/${id}`)
}
/**
* 查询在线充值支付及钱包到账状态
*/
static getPaymentStatus(id: number): Promise<BaseResponse<AgentRechargePaymentStatusResponse>> {
return this.getOne<AgentRechargePaymentStatusResponse>(
`/api/admin/agent-recharges/${id}/payment-status`
)
}
/**
* 创建代理充值订单
* @param data 创建充值订单请求参数
*/
static createAgentRecharge(
data: CreateAgentRechargeRequest
): Promise<BaseResponse<AgentRecharge>> {
return this.post<BaseResponse<AgentRecharge>>('/api/admin/agent-recharges', data)
}
/**
* 确认线下充值
* @param id 充值订单ID
* @param data 确认线下充值请求参数
*/
static confirmOfflinePayment(
id: number,
data: ConfirmOfflinePaymentRequest
): Promise<BaseResponse<AgentRecharge>> {
return this.post<BaseResponse<AgentRecharge>>(
`/api/admin/agent-recharges/${id}/offline-pay`,
data
)
}
/**
* 拒绝代理充值订单
* @param id 充值订单ID
* @param data 拒绝请求参数
*/
static rejectAgentRecharge(
id: number,
data: RejectAgentRechargeRequest
): Promise<BaseResponse<void>> {
return this.post<BaseResponse<void>>(`/api/admin/agent-recharges/${id}/reject`, data)
}
/**
* 补发历史线下代理充值审批
* @param id 充值记录ID
*/
static triggerApproval(id: number): Promise<BaseResponse<AgentRecharge>> {
return this.post<BaseResponse<AgentRecharge>>(
`/api/admin/agent-recharges/${id}/trigger-approval`
)
}
}