diff --git a/soul-api/internal/handler/match_records.go b/soul-api/internal/handler/match_records.go index c46e8936..35c9133e 100644 --- a/soul-api/internal/handler/match_records.go +++ b/soul-api/internal/handler/match_records.go @@ -131,3 +131,26 @@ func DBMatchRecordsList(c *gin.Context) { "total": total, "page": page, "pageSize": pageSize, "totalPages": totalPages, }) } + +// DBMatchPoolCounts GET /api/db/match-pool-counts 返回各匹配池的用户人数 +func DBMatchPoolCounts(c *gin.Context) { + db := database.DB() + var vipCount int64 + db.Model(&model.User{}).Where("is_vip = 1 AND vip_expire_date > NOW()").Count(&vipCount) + var completeCount int64 + db.Model(&model.User{}).Where( + "(phone IS NOT NULL AND phone != '') AND (nickname IS NOT NULL AND nickname != '')", + ).Count(&completeCount) + var allCount int64 + db.Model(&model.User{}).Where( + "((wechat_id IS NOT NULL AND wechat_id != '') OR (phone IS NOT NULL AND phone != ''))", + ).Count(&allCount) + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "vip": vipCount, + "complete": completeCount, + "all": allCount, + }, + }) +}