MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / GetUsageStatistics

Function GetUsageStatistics

controller/usage_statistics.go:13–68  ·  view source on GitHub ↗

GetUsageStatistics 获取用量统计数据

(c *gin.Context)

Source from the content-addressed store, hash-verified

11
12// GetUsageStatistics 获取用量统计数据
13func GetUsageStatistics(c *gin.Context) {
14 // 获取查询参数
15 page, _ := strconv.Atoi(c.DefaultQuery("p", "1"))
16 pageSize, _ := strconv.Atoi(c.DefaultQuery("size", "20"))
17 startDate := c.Query("start_date")
18 endDate := c.Query("end_date")
19 tokenId, _ := strconv.Atoi(c.Query("token_id"))
20 modelName := c.Query("model_name")
21
22 // 设置默认查询最近7天
23 if startDate == "" && endDate == "" {
24 now := time.Now()
25 startDate = now.AddDate(0, 0, -7).Format("2006-01-02")
26 endDate = now.Format("2006-01-02")
27 }
28
29 // 验证参数
30 if page < 1 {
31 page = 1
32 }
33 if pageSize < 1 || pageSize > 100 {
34 pageSize = 20
35 }
36
37 // 查询数据
38 statistics, total, err := model.GetUsageStatistics(startDate, endDate, tokenId, modelName, page, pageSize)
39 if err != nil {
40 c.JSON(http.StatusOK, gin.H{
41 "success": false,
42 "message": err.Error(),
43 })
44 return
45 }
46
47 // 获取摘要信息
48 summary, err := model.GetUsageStatisticsSummary(startDate, endDate, tokenId, modelName)
49 if err != nil {
50 c.JSON(http.StatusOK, gin.H{
51 "success": false,
52 "message": err.Error(),
53 })
54 return
55 }
56
57 c.JSON(http.StatusOK, gin.H{
58 "success": true,
59 "message": "",
60 "data": gin.H{
61 "items": statistics,
62 "total": total,
63 "page": page,
64 "page_size": pageSize,
65 "summary": summary,
66 },
67 })
68}
69
70// GetUsageStatisticsSummary 获取用量统计摘要

Callers

nothing calls this directly

Calls 3

GetUsageStatisticsFunction · 0.92
ErrorMethod · 0.80

Tested by

no test coverage detected