feat(invitation): 新增返利统计汇总与时间筛选

This commit is contained in:
yml2213
2026-10-29 12:36:57 +08:00
parent 2029c1f4fb
commit 163ffb9eff
8 changed files with 913 additions and 14 deletions
@@ -98,8 +98,49 @@ type AdminRebateLedgerQuery struct {
InviterPhone string `form:"inviter_phone"`
InviteePhone string `form:"invitee_phone"`
TradeRole string `form:"trade_role"`
Source string `form:"source"`
StartDate string `form:"start_date"`
EndDate string `form:"end_date"`
DistributionSiteID *uint64 `form:"distribution_site_id"`
// InviterID / InviteeID 供用户管理「明细」按用户精确筛选。
InviterID uint64 `form:"inviter_id"`
InviteeID uint64 `form:"invitee_id"`
}
// AdminRebateSummaryDTO 返利统计页汇总数据,所有金额单位为分。
type AdminRebateSummaryDTO struct {
TotalRebateCent int64 `json:"total_rebate_cent"`
LedgerCount int64 `json:"ledger_count"`
InviterCount int64 `json:"inviter_count"`
InviteeCount int64 `json:"invitee_count"`
AvgRebateCent int64 `json:"avg_rebate_cent"`
OrderRebateCent int64 `json:"order_rebate_cent"`
OrderCount int64 `json:"order_count"`
PickupRebateCent int64 `json:"pickup_rebate_cent"`
PickupCount int64 `json:"pickup_count"`
BuyerRebateCent int64 `json:"buyer_rebate_cent"`
BuyerCount int64 `json:"buyer_count"`
SellerRebateCent int64 `json:"seller_rebate_cent"`
SellerCount int64 `json:"seller_count"`
FirstMonthCent int64 `json:"first_month_cent"`
SecondMonthCent int64 `json:"second_month_cent"`
SubsequentCent int64 `json:"subsequent_cent"`
Daily []AdminRebateDailyStat `json:"daily"`
TopInviters []AdminRebateInviterStat `json:"top_inviters"`
}
type AdminRebateDailyStat struct {
Date string `json:"date"`
LedgerCount int64 `json:"ledger_count"`
RebateAmountCent int64 `json:"rebate_amount_cent"`
OrderAmountCent int64 `json:"order_amount_cent"`
PickupAmountCent int64 `json:"pickup_amount_cent"`
}
type AdminRebateInviterStat struct {
InviterID uint64 `json:"inviter_id"`
InviterPhone string `json:"inviter_phone"`
InviterNickname string `json:"inviter_nickname"`
LedgerCount int64 `json:"ledger_count"`
RebateAmountCent int64 `json:"rebate_amount_cent"`
}