import api, { unwrap, PageResponse } from './request'; export interface WithdrawResp extends Record { requestId: number; settleMasterId?: number; settleMonth?: string; agentId: number; agentName?: string; amount: number; bankCode?: string; accountNo?: string; status: string; statusName?: string; requestedAt?: string; sentAt?: string; completedAt?: string; failReason?: string; transferTxId?: string; transferStatus?: string; } export interface WithdrawSearchParam { agentId?: number; settleMasterId?: number; pageNum?: number; pageSize?: number; } export interface WithdrawSaveReq { settleMasterId: number; agentId: number; amount: number; requestedBy: number; bankCode: string; accountNo: string; } export const withdrawApi = { list: (params: WithdrawSearchParam = {}) => unwrap>(api.get('/api/withdraw-requests', { params })), detail: (id: number) => unwrap(api.get(`/api/withdraw-requests/${id}`)), create: (req: WithdrawSaveReq) => unwrap(api.post('/api/withdraw-requests', req)), cancel: (id: number) => unwrap(api.post(`/api/withdraw-requests/${id}/cancel`, {})), };