From 0865b1df5eb1cf3f4b29641578a5b8d6a4edab9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sun, 8 Mar 2026 10:24:56 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20soul-api=20=E6=8E=A5=E5=8F=A3=E9=80=BB?= =?UTF-8?q?=E8=BE=91=20|=20=E5=8E=9F=E5=9B=A0:=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soul-api/internal/handler/match_records.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/soul-api/internal/handler/match_records.go b/soul-api/internal/handler/match_records.go index e36d1c3a..c46e8936 100644 --- a/soul-api/internal/handler/match_records.go +++ b/soul-api/internal/handler/match_records.go @@ -28,13 +28,23 @@ func DBMatchRecordsList(c *gin.Context) { db.Model(&model.MatchRecord{}).Select("match_type as match_type, count(*) as count").Group("match_type").Scan(&byType) var uniqueUsers int64 db.Model(&model.MatchRecord{}).Distinct("user_id").Count(&uniqueUsers) + + // 匹配收益:product_type=match 且 status=paid 的订单金额总和 + var matchRevenue float64 + db.Model(&model.Order{}).Where("product_type = ? AND status = ?", "match", "paid"). + Select("COALESCE(SUM(amount), 0)").Scan(&matchRevenue) + var paidMatchCount int64 + db.Model(&model.Order{}).Where("product_type = ? AND status = ?", "match", "paid").Count(&paidMatchCount) + c.JSON(http.StatusOK, gin.H{ "success": true, "data": gin.H{ - "totalMatches": totalMatches, - "todayMatches": todayMatches, - "byType": byType, - "uniqueUsers": uniqueUsers, + "totalMatches": totalMatches, + "todayMatches": todayMatches, + "byType": byType, + "uniqueUsers": uniqueUsers, + "matchRevenue": matchRevenue, + "paidMatchCount": paidMatchCount, }, }) return