feat(1.0):调整未读列表
This commit is contained in:
parent
ba0630b2da
commit
5156a25019
@ -1808,10 +1808,6 @@ const docTemplate = `{
|
||||
"sender_name": {
|
||||
"description": "发送人昵称",
|
||||
"type": "string"
|
||||
},
|
||||
"unread_count": {
|
||||
"description": "未读数量",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -1800,10 +1800,6 @@
|
||||
"sender_name": {
|
||||
"description": "发送人昵称",
|
||||
"type": "string"
|
||||
},
|
||||
"unread_count": {
|
||||
"description": "未读数量",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -287,9 +287,6 @@ definitions:
|
||||
sender_name:
|
||||
description: 发送人昵称
|
||||
type: string
|
||||
unread_count:
|
||||
description: 未读数量
|
||||
type: integer
|
||||
type: object
|
||||
app.listData:
|
||||
properties:
|
||||
|
||||
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user