From 5156a250197c028fc64835d4be6afcf7382be220 Mon Sep 17 00:00:00 2001 From: summer <> Date: Mon, 20 Oct 2025 14:21:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(1.0):=E8=B0=83=E6=95=B4=E6=9C=AA=E8=AF=BB?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/docs.go | 4 --- docs/swagger.json | 4 --- docs/swagger.yaml | 3 -- internal/api/app/app_latest_messages.go | 37 ++++++++++++------------- 4 files changed, 17 insertions(+), 31 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index c820453..8fb11b0 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -1808,10 +1808,6 @@ const docTemplate = `{ "sender_name": { "description": "发送人昵称", "type": "string" - }, - "unread_count": { - "description": "未读数量", - "type": "integer" } } }, diff --git a/docs/swagger.json b/docs/swagger.json index ca5b3de..a35ec05 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -1800,10 +1800,6 @@ "sender_name": { "description": "发送人昵称", "type": "string" - }, - "unread_count": { - "description": "未读数量", - "type": "integer" } } }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 67fae55..ff7d2ee 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -287,9 +287,6 @@ definitions: sender_name: description: 发送人昵称 type: string - unread_count: - description: 未读数量 - type: integer type: object app.listData: properties: diff --git a/internal/api/app/app_latest_messages.go b/internal/api/app/app_latest_messages.go index 28f005a..0302b5e 100644 --- a/internal/api/app/app_latest_messages.go +++ b/internal/api/app/app_latest_messages.go @@ -22,7 +22,6 @@ type latestMessageData struct { SenderID string `json:"sender_id"` // 发送人ID SenderName string `json:"sender_name"` // 发送人昵称 SenderAvatar string `json:"sender_avatar"` // 发送人头像 - UnreadCount int64 `json:"unread_count"` // 未读数量 } type latestMessageByAppIdResponse struct { @@ -76,20 +75,19 @@ func (h *handler) LatestMessageByAppId() core.HandlerFunc { } type unreadMessageResult struct { - SenderID string `json:"sender_id"` - SenderName string `json:"sender_name"` - SendTime time.Time `json:"send_time"` - AvatarURL string `json:"avatar_url"` - UnreadCount int64 `json:"unread_count"` + SenderID string `json:"sender_id"` + SenderName string `json:"sender_name"` + SendTime time.Time `json:"send_time"` + AvatarURL string `json:"avatar_url"` } var results []unreadMessageResult var total int64 countErr := h.db.GetDbR().Table("app_message_log m"). - Select("m.send_time, m.sender_id, m.sender_name, u.user_avatar as avatar_url, COUNT(*) as unread_count"). + Select("m.send_time, m.sender_id, m.sender_name, u.user_avatar as avatar_url"). Joins("LEFT JOIN app_user u ON m.sender_id = u.user_id"). - Where("m.app_id = ? AND m.sender_id != ? AND m.is_read = 1", req.AppID, "888888"). + Where("m.app_id = ? AND m.sender_id != ?", req.AppID, "888888"). Group("m.sender_id"). Count(&total). Error @@ -103,11 +101,11 @@ func (h *handler) LatestMessageByAppId() core.HandlerFunc { } resultErr := h.db.GetDbR().Table("app_message_log m"). - Select("max(m.send_time) as send_time, m.sender_id, max(m.sender_name) as sender_name, max(u.user_avatar) as avatar_url, COUNT(*) as unread_count"). + Select("max(m.send_time) as send_time, m.sender_id, max(m.sender_name) as sender_name, max(u.user_avatar) as avatar_url"). Joins("LEFT JOIN app_user u ON m.sender_id = u.user_id"). - Where("m.app_id = ? AND m.sender_id != ? AND m.is_read = 1", req.AppID, "888888"). + Where("m.app_id = ? AND m.sender_id != ?", req.AppID, "888888"). Group("m.sender_id"). - Order("unread_count DESC"). + Order("send_time DESC"). Offset((req.Page - 1) * req.PageSize). Limit(req.PageSize). Find(&results). @@ -122,14 +120,14 @@ func (h *handler) LatestMessageByAppId() core.HandlerFunc { } // 自动标记该appid下的所有消息为已读(管理端访问时) - _, err := h.writeDB.AppMessageLog.WithContext(ctx.RequestContext()). - Where(h.writeDB.AppMessageLog.AppID.Eq(req.AppID)). - Where(h.writeDB.AppMessageLog.IsRead.Eq(0)). - Update(h.writeDB.AppMessageLog.IsRead, 1) - if err != nil { - // 记录错误但不影响查询结果 - // TODO: 可以添加日志记录 - } + //_, err := h.writeDB.AppMessageLog.WithContext(ctx.RequestContext()). + // Where(h.writeDB.AppMessageLog.AppID.Eq(req.AppID)). + // Where(h.writeDB.AppMessageLog.IsRead.Eq(0)). + // Update(h.writeDB.AppMessageLog.IsRead, 1) + //if err != nil { + // // 记录错误但不影响查询结果 + // // TODO: 可以添加日志记录 + //} res.Page = req.Page res.PageSize = req.PageSize @@ -142,7 +140,6 @@ func (h *handler) LatestMessageByAppId() core.HandlerFunc { SenderID: v.SenderID, SenderName: v.SenderName, SenderAvatar: v.AvatarURL, - UnreadCount: v.UnreadCount, } }