feat(1.0):调整未读列表

This commit is contained in:
summer 2025-10-20 15:20:39 +08:00
parent 5156a25019
commit 33af2cc54a
4 changed files with 19 additions and 5 deletions

View File

@ -1808,6 +1808,10 @@ const docTemplate = `{
"sender_name": {
"description": "发送人昵称",
"type": "string"
},
"unread_count": {
"description": "未读消息数量",
"type": "integer"
}
}
},

View File

@ -1800,6 +1800,10 @@
"sender_name": {
"description": "发送人昵称",
"type": "string"
},
"unread_count": {
"description": "未读消息数量",
"type": "integer"
}
}
},

View File

@ -287,6 +287,9 @@ definitions:
sender_name:
description: 发送人昵称
type: string
unread_count:
description: 未读消息数量
type: integer
type: object
app.listData:
properties:

View File

@ -22,6 +22,7 @@ type latestMessageData struct {
SenderID string `json:"sender_id"` // 发送人ID
SenderName string `json:"sender_name"` // 发送人昵称
SenderAvatar string `json:"sender_avatar"` // 发送人头像
UnreadCount int `json:"unread_count"` // 未读消息数量
}
type latestMessageByAppIdResponse struct {
@ -79,6 +80,7 @@ func (h *handler) LatestMessageByAppId() core.HandlerFunc {
SenderName string `json:"sender_name"`
SendTime time.Time `json:"send_time"`
AvatarURL string `json:"avatar_url"`
UnreadCount int `json:"unread_count"`
}
var results []unreadMessageResult
@ -101,7 +103,7 @@ 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").
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, (SELECT COUNT(*) FROM app_message_log WHERE sender_id = m.sender_id AND is_read = 0) as unread_count").
Joins("LEFT JOIN app_user u ON m.sender_id = u.user_id").
Where("m.app_id = ? AND m.sender_id != ?", req.AppID, "888888").
Group("m.sender_id").
@ -140,6 +142,7 @@ func (h *handler) LatestMessageByAppId() core.HandlerFunc {
SenderID: v.SenderID,
SenderName: v.SenderName,
SenderAvatar: v.AvatarURL,
UnreadCount: v.UnreadCount,
}
}