新增资金出款查询与财务统计
This commit is contained in:
@@ -50,6 +50,12 @@ export interface FinanceDailyItem {
|
||||
pending_refund_count: number
|
||||
settled_order_count: number
|
||||
offline_settlement_pending_count: number
|
||||
offline_settlement_paid_amount_cent: number
|
||||
offline_settlement_paid_count: number
|
||||
withdrawal_paid_amount_cent: number
|
||||
withdrawal_paid_count: number
|
||||
disbursement_paid_amount_cent: number
|
||||
disbursement_paid_count: number
|
||||
}
|
||||
|
||||
export interface FinancePickupSummary {
|
||||
@@ -59,10 +65,87 @@ export interface FinancePickupSummary {
|
||||
in_progress_count: number
|
||||
}
|
||||
|
||||
export interface FinanceDisbursementSummary {
|
||||
paid_amount_cent: number
|
||||
paid_count: number
|
||||
pending_payment_amount_cent: number
|
||||
pending_payment_count: number
|
||||
offline_settlement_paid_amount_cent: number
|
||||
offline_settlement_paid_count: number
|
||||
offline_settlement_pending_amount_cent: number
|
||||
offline_settlement_pending_count: number
|
||||
withdrawal_amount_cent: number
|
||||
withdrawal_fee_amount_cent: number
|
||||
withdrawal_paid_amount_cent: number
|
||||
withdrawal_paid_count: number
|
||||
withdrawal_pending_amount_cent: number
|
||||
withdrawal_pending_count: number
|
||||
withdrawal_review_amount_cent: number
|
||||
withdrawal_review_count: number
|
||||
}
|
||||
|
||||
export interface FinanceDisbursementListSummary {
|
||||
record_count: number
|
||||
paid_amount_cent: number
|
||||
paid_count: number
|
||||
payment_pending_amount_cent: number
|
||||
payment_pending_count: number
|
||||
review_pending_amount_cent: number
|
||||
review_pending_count: number
|
||||
withdrawal_fee_amount_cent: number
|
||||
}
|
||||
|
||||
export interface FinanceDisbursementItem {
|
||||
source_type: 'platform_managed' | 'withdrawal'
|
||||
source_id: number
|
||||
business_no: string
|
||||
order_id?: number
|
||||
withdrawal_id?: number
|
||||
user_id: number
|
||||
payee_name: string
|
||||
payee_phone: string
|
||||
uploader_name: string
|
||||
source_channel: string
|
||||
account_type: string
|
||||
account_name: string
|
||||
account_no: string
|
||||
bank_name: string
|
||||
amount_cent: number
|
||||
fee_cent: number
|
||||
actual_amount_cent: number
|
||||
status: 'review_pending' | 'payment_pending' | 'paid' | 'rejected' | 'cancelled'
|
||||
raw_status: string
|
||||
business_created_at?: string
|
||||
paid_at?: string
|
||||
operator_id?: number
|
||||
operator_name: string
|
||||
remark: string
|
||||
}
|
||||
|
||||
export interface FinanceDisbursementQuery extends FinanceDateQuery {
|
||||
source_type?: string
|
||||
status?: string
|
||||
date_type?: string
|
||||
business_no?: string
|
||||
keyword?: string
|
||||
user_id?: string
|
||||
page?: number
|
||||
page_size?: number
|
||||
}
|
||||
|
||||
export interface FinanceDisbursementList {
|
||||
items: FinanceDisbursementItem[]
|
||||
total: number
|
||||
page: number
|
||||
page_size: number
|
||||
summary: FinanceDisbursementListSummary
|
||||
}
|
||||
|
||||
export interface FinanceDashboard {
|
||||
summary: FinanceSummary
|
||||
daily_items: FinanceDailyItem[]
|
||||
pickup_summary: FinancePickupSummary
|
||||
disbursement_summary: FinanceDisbursementSummary
|
||||
generated_at: string
|
||||
}
|
||||
|
||||
@@ -113,6 +196,8 @@ export interface FinanceDetailQuery extends FinanceDateQuery {
|
||||
user_id?: string
|
||||
order_status?: string
|
||||
settlement_status?: string
|
||||
settlement_mode?: string
|
||||
offline_settlement_status?: string
|
||||
date_type?: string
|
||||
page?: number
|
||||
page_size?: number
|
||||
@@ -137,6 +222,24 @@ export async function fetchFinanceDashboard(query: FinanceDateQuery = {}) {
|
||||
completed_count: 0,
|
||||
in_progress_count: 0,
|
||||
},
|
||||
disbursement_summary: data.data?.disbursement_summary ?? {
|
||||
paid_amount_cent: 0,
|
||||
paid_count: 0,
|
||||
pending_payment_amount_cent: 0,
|
||||
pending_payment_count: 0,
|
||||
offline_settlement_paid_amount_cent: 0,
|
||||
offline_settlement_paid_count: 0,
|
||||
offline_settlement_pending_amount_cent: 0,
|
||||
offline_settlement_pending_count: 0,
|
||||
withdrawal_amount_cent: 0,
|
||||
withdrawal_fee_amount_cent: 0,
|
||||
withdrawal_paid_amount_cent: 0,
|
||||
withdrawal_paid_count: 0,
|
||||
withdrawal_pending_amount_cent: 0,
|
||||
withdrawal_pending_count: 0,
|
||||
withdrawal_review_amount_cent: 0,
|
||||
withdrawal_review_count: 0,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,3 +256,27 @@ export async function fetchFinanceDetails(query: FinanceDetailQuery = {}) {
|
||||
page_size: Number(result?.page_size ?? query.page_size ?? 20),
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchFinanceDisbursements(query: FinanceDisbursementQuery = {}) {
|
||||
const { data } = await apiClient.get<ApiResponse<FinanceDisbursementList>>(
|
||||
'/admin/finance/disbursements',
|
||||
{ params: cleanParams(query) }
|
||||
)
|
||||
const result = data.data
|
||||
return {
|
||||
items: Array.isArray(result?.items) ? result.items : [],
|
||||
total: Number(result?.total ?? 0),
|
||||
page: Number(result?.page ?? query.page ?? 1),
|
||||
page_size: Number(result?.page_size ?? query.page_size ?? 20),
|
||||
summary: result?.summary ?? {
|
||||
record_count: 0,
|
||||
paid_amount_cent: 0,
|
||||
paid_count: 0,
|
||||
payment_pending_amount_cent: 0,
|
||||
payment_pending_count: 0,
|
||||
review_pending_amount_cent: 0,
|
||||
review_pending_count: 0,
|
||||
withdrawal_fee_amount_cent: 0,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user