新增资金出款查询与财务统计

This commit is contained in:
yml2213
2026-07-26 16:18:31 +08:00
parent 321f0781cf
commit dbe0cda2c6
17 changed files with 1604 additions and 31 deletions
+102 -13
View File
@@ -8,22 +8,38 @@ type DashboardQuery struct {
}
type DetailQuery struct {
OrderNo string
UserID uint64
OrderStatus string
SettlementStatus string
DateType string
StartDate time.Time
EndDate time.Time
Page int
PageSize int
OrderNo string
UserID uint64
OrderStatus string
SettlementStatus string
SettlementMode string
OfflineSettlementStatus string
DateType string
StartDate time.Time
EndDate time.Time
Page int
PageSize int
}
type DisbursementQuery struct {
SourceType string
Status string
DateType string
BusinessNo string
Keyword string
UserID uint64
StartDate time.Time
EndDate time.Time
Page int
PageSize int
}
type DashboardDTO struct {
Summary FinanceSummaryDTO `json:"summary"`
DailyItems []FinanceDailyDTO `json:"daily_items"`
PickupSummary PickupSummaryDTO `json:"pickup_summary"`
GeneratedAt time.Time `json:"generated_at"`
Summary FinanceSummaryDTO `json:"summary"`
DailyItems []FinanceDailyDTO `json:"daily_items"`
PickupSummary PickupSummaryDTO `json:"pickup_summary"`
DisbursementSummary DisbursementSummaryDTO `json:"disbursement_summary"`
GeneratedAt time.Time `json:"generated_at"`
}
// PickupSummaryDTO 线下提号统计,独立于正常订单口径,数据来自 admin_pickups 表。
@@ -34,6 +50,73 @@ type PickupSummaryDTO struct {
InProgressCount int64 `json:"in_progress_count"` // 当前提号中笔数(不按时间)
}
// DisbursementSummaryDTO 统计平台实际线下出款及当前待处理金额。
// 已打款按确认打款时间归入查询区间,待处理不受日期范围限制,反映当前资金待办。
type DisbursementSummaryDTO struct {
PaidAmountCent int64 `json:"paid_amount_cent"`
PaidCount int64 `json:"paid_count"`
PendingPaymentAmountCent int64 `json:"pending_payment_amount_cent"`
PendingPaymentCount int64 `json:"pending_payment_count"`
OfflineSettlementPaidAmountCent int64 `json:"offline_settlement_paid_amount_cent"`
OfflineSettlementPaidCount int64 `json:"offline_settlement_paid_count"`
OfflineSettlementPendingAmountCent int64 `json:"offline_settlement_pending_amount_cent"`
OfflineSettlementPendingCount int64 `json:"offline_settlement_pending_count"`
WithdrawalAmountCent int64 `json:"withdrawal_amount_cent"`
WithdrawalFeeAmountCent int64 `json:"withdrawal_fee_amount_cent"`
WithdrawalPaidAmountCent int64 `json:"withdrawal_paid_amount_cent"`
WithdrawalPaidCount int64 `json:"withdrawal_paid_count"`
WithdrawalPendingAmountCent int64 `json:"withdrawal_pending_amount_cent"`
WithdrawalPendingCount int64 `json:"withdrawal_pending_count"`
WithdrawalReviewAmountCent int64 `json:"withdrawal_review_amount_cent"`
WithdrawalReviewCount int64 `json:"withdrawal_review_count"`
}
type DisbursementListDTO struct {
Items []DisbursementItemDTO `json:"items"`
Total int64 `json:"total"`
Page int `json:"page"`
PageSize int `json:"page_size"`
Summary DisbursementListSummaryDTO `json:"summary"`
}
type DisbursementListSummaryDTO struct {
RecordCount int64 `json:"record_count"`
PaidAmountCent int64 `json:"paid_amount_cent"`
PaidCount int64 `json:"paid_count"`
PaymentPendingAmountCent int64 `json:"payment_pending_amount_cent"`
PaymentPendingCount int64 `json:"payment_pending_count"`
ReviewPendingAmountCent int64 `json:"review_pending_amount_cent"`
ReviewPendingCount int64 `json:"review_pending_count"`
WithdrawalFeeAmountCent int64 `json:"withdrawal_fee_amount_cent"`
}
type DisbursementItemDTO struct {
SourceType string `json:"source_type"`
SourceID uint64 `json:"source_id"`
BusinessNo string `json:"business_no"`
OrderID uint64 `json:"order_id,omitempty"`
WithdrawalID uint64 `json:"withdrawal_id,omitempty"`
UserID uint64 `json:"user_id"`
PayeeName string `json:"payee_name"`
PayeePhone string `json:"payee_phone"`
UploaderName string `json:"uploader_name"`
SourceChannel string `json:"source_channel"`
AccountType string `json:"account_type"`
AccountName string `json:"account_name"`
AccountNo string `json:"account_no"`
BankName string `json:"bank_name"`
AmountCent int64 `json:"amount_cent"`
FeeCent int64 `json:"fee_cent"`
ActualAmountCent int64 `json:"actual_amount_cent"`
Status string `json:"status"`
RawStatus string `json:"raw_status"`
BusinessCreatedAt *time.Time `json:"business_created_at,omitempty"`
PaidAt *time.Time `json:"paid_at,omitempty"`
OperatorID *uint64 `json:"operator_id,omitempty"`
OperatorName string `json:"operator_name"`
Remark string `json:"remark"`
}
type FinanceSummaryDTO struct {
TotalFlowAmountCent int64 `json:"total_flow_amount_cent"`
TotalRefundAmountCent int64 `json:"total_refund_amount_cent"`
@@ -79,6 +162,12 @@ type FinanceDailyDTO struct {
PendingRefundCount int64 `json:"pending_refund_count"`
SettledOrderCount int64 `json:"settled_order_count"`
OfflineSettlementPendingCount int64 `json:"offline_settlement_pending_count"`
OfflineSettlementPaidAmountCent int64 `json:"offline_settlement_paid_amount_cent"`
OfflineSettlementPaidCount int64 `json:"offline_settlement_paid_count"`
WithdrawalPaidAmountCent int64 `json:"withdrawal_paid_amount_cent"`
WithdrawalPaidCount int64 `json:"withdrawal_paid_count"`
DisbursementPaidAmountCent int64 `json:"disbursement_paid_amount_cent"`
DisbursementPaidCount int64 `json:"disbursement_paid_count"`
}
type PaginatedResult struct {