From 925de432e7f5c83616e2808ff5c7373313c12567 Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Sun, 6 Apr 2025 15:14:29 +0800 Subject: [PATCH] =?UTF-8?q?dashboard=E9=83=A8=E5=88=86=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9C=80=E8=BF=91=E4=B8=80=E5=91=A8=E3=80=81=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/im.go | 13 +++++++++---- proto/tool.go | 8 ++++++-- service/toolService.go | 4 ++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/dao/im.go b/dao/im.go index 38ec8ad..fbe3cfe 100644 --- a/dao/im.go +++ b/dao/im.go @@ -180,9 +180,14 @@ func FindUserSessionCount(userID, sessionType int) int64 { return sessionCount } +type SessionOrMessageCount struct { + Date string `gorm:"column:date"` + Count int64 `gorm:"column:count"` +} + // 获取最近一周每天的会话数 -func FindSessionCountByDate() ([]int64, error) { - var sessionCounts []int64 +func FindSessionCountByDate() ([]SessionOrMessageCount, error) { + var sessionCounts []SessionOrMessageCount var db2 *gorm.DB if proto.Config.SERVER_SQL_LOG { db2 = DB.Debug() @@ -196,8 +201,8 @@ func FindSessionCountByDate() ([]int64, error) { } // 获取最近一周每天的消息数 -func FindMessageCountByDate() ([]int64, error) { - var messageCounts []int64 +func FindMessageCountByDate() ([]SessionOrMessageCount, error) { + var messageCounts []SessionOrMessageCount var db2 *gorm.DB if proto.Config.SERVER_SQL_LOG { db2 = DB.Debug() diff --git a/proto/tool.go b/proto/tool.go index e4ea6dc..cab0411 100644 --- a/proto/tool.go +++ b/proto/tool.go @@ -10,8 +10,12 @@ type DashBoardStatisticsSt struct { // 统计过去一周每天的会话数、消息数 type DashBoardStatisticsWeekSt struct { - SessionCount map[int]int64 `json:"session_count"` - MessageCount map[int]int64 `json:"message_count"` + SessionCount []DashBoardStatisticsWeekCount `json:"session_count"` + MessageCount []DashBoardStatisticsWeekCount `json:"message_count"` +} + +type DashBoardStatisticsWeekCount struct { + Count int64 `json:"count"` } type DashBoardStatisticsResp struct { diff --git a/service/toolService.go b/service/toolService.go index 0d6f14d..407b7df 100644 --- a/service/toolService.go +++ b/service/toolService.go @@ -138,7 +138,7 @@ func GetRecent7DaysMessageSessionCount() (proto.DashBoardStatisticsWeekSt, error return res, err } for i := 0; i < len(SessionCounts); i++ { - res.SessionCount[i] = SessionCounts[i] + res.SessionCount = append(res.SessionCount, proto.DashBoardStatisticsWeekCount{Count: SessionCounts[i].Count}) } MessageCounts, err := dao.FindMessageCountByDate() if err != nil { @@ -146,7 +146,7 @@ func GetRecent7DaysMessageSessionCount() (proto.DashBoardStatisticsWeekSt, error return res, err } for i := 0; i < len(MessageCounts); i++ { - res.MessageCount[i] = MessageCounts[i] + res.MessageCount = append(res.MessageCount, proto.DashBoardStatisticsWeekCount{Count: MessageCounts[i].Count}) } return res, nil }