diff --git a/video-gen-admin/src/api/index.ts b/video-gen-admin/src/api/index.ts index 6a8b5fa0..b98f3eda 100644 --- a/video-gen-admin/src/api/index.ts +++ b/video-gen-admin/src/api/index.ts @@ -212,8 +212,8 @@ export async function batchUpdatePaymentConfigs(configs: Record) } export async function getPaymentStats(): Promise<{ - by_status: Record; - today: { paid_count: number; paid_amount: number }; + byStatus: Record; + today: { paidCount: number; paidAmount: number }; recent: any[]; }> { return api.get('/admin/payment-stats'); diff --git a/video-gen-admin/src/pages/AdminPaymentStats.tsx b/video-gen-admin/src/pages/AdminPaymentStats.tsx index c76030e2..b95207c9 100644 --- a/video-gen-admin/src/pages/AdminPaymentStats.tsx +++ b/video-gen-admin/src/pages/AdminPaymentStats.tsx @@ -38,9 +38,9 @@ const AdminPaymentStats: React.FC = () => { }; const columns = [ - { title: '订单号', dataIndex: 'order_no', key: 'order_no', width: 200 }, + { title: '订单号', dataIndex: 'orderNo', key: 'orderNo', width: 200 }, { - title: '支付方式', dataIndex: 'payment_method', key: 'payment_method', width: 100, + title: '支付方式', dataIndex: 'paymentMethod', key: 'paymentMethod', width: 100, render: (m: string) => { const c = methodConfig[m] || { color: 'default', label: m }; return {c.label}; @@ -58,13 +58,13 @@ const AdminPaymentStats: React.FC = () => { return {c.label}; }, }, - { title: '支付宝交易号', dataIndex: 'trade_no', key: 'trade_no', width: 200, render: (v: string) => v || '-' }, + { title: '支付宝交易号', dataIndex: 'tradeNo', key: 'tradeNo', width: 200, render: (v: string) => v || '-' }, { - title: '创建时间', dataIndex: 'created_at', key: 'created_at', width: 160, + title: '创建时间', dataIndex: 'createdAt', key: 'createdAt', width: 160, render: (d: string) => {d ? formatDate(d) : '-'}, }, { - title: '支付时间', dataIndex: 'paid_at', key: 'paid_at', width: 160, + title: '支付时间', dataIndex: 'paidAt', key: 'paidAt', width: 160, render: (d: string) => {d ? formatDate(d) : '-'}, }, ]; @@ -73,9 +73,9 @@ const AdminPaymentStats: React.FC = () => { return
加载中…
; } - const paidInfo = stats.by_status?.paid || { count: 0, amount: 0 }; - const pendingInfo = stats.by_status?.pending || { count: 0, amount: 0 }; - const cancelledInfo = stats.by_status?.cancelled || { count: 0, amount: 0 }; + const paidInfo = stats.byStatus?.paid || { count: 0, amount: 0 }; + const pendingInfo = stats.byStatus?.pending || { count: 0, amount: 0 }; + const cancelledInfo = stats.byStatus?.cancelled || { count: 0, amount: 0 }; const totalOrders = paidInfo.count + pendingInfo.count + cancelledInfo.count; return ( @@ -86,14 +86,14 @@ const AdminPaymentStats: React.FC = () => { } suffix="元" valueStyle={{ color: '#10b981', fontWeight: 700 }} /> - {stats.today.paid_count} 笔订单 + {stats.today.paidCount} 笔订单 @@ -147,7 +147,7 @@ const AdminPaymentStats: React.FC = () => { title={订单状态分布}> {['paid', 'pending', 'cancelled'].map(s => { - const info = stats.by_status?.[s] || { count: 0, amount: 0 }; + const info = stats.byStatus?.[s] || { count: 0, amount: 0 }; const c = statusConfig[s]; const pct = totalOrders > 0 ? ((info.count / totalOrders) * 100).toFixed(1) : '0.0'; return ( diff --git a/video-gen-admin/src/types/index.ts b/video-gen-admin/src/types/index.ts index e3535391..8bfed122 100644 --- a/video-gen-admin/src/types/index.ts +++ b/video-gen-admin/src/types/index.ts @@ -118,23 +118,23 @@ export interface AdminStats { } export interface PaymentStats { - by_status: Record; - today: { paid_count: number; paid_amount: number }; + byStatus: Record; + today: { paidCount: number; paidAmount: number }; recent: PaymentOrder[]; } export interface PaymentOrder { id: string; - order_no: string; - user_id: string; + orderNo: string; + userId: string; user?: { username: string }; amount: number; credits: number; - payment_method: string; + paymentMethod: string; status: string; - trade_no?: string; - paid_at?: string; - created_at: string; + tradeNo?: string; + paidAt?: string; + createdAt: string; } export interface ModelConfig {