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