Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

53 lines
1.2 KiB
Go
Executable File

package immessagedata
import (
"91porn-server/app/service/vidhelpser"
"91porn-server/models/v/immessagemod"
"91porn-server/models/v/vidmod"
)
// FormatAppDataList 格式化app列表数据
func FormatAppDataList(origin []immessagemod.ImMessage) (res []*immessagemod.ImMessageInfo) {
res = make([]*immessagemod.ImMessageInfo, len(origin))
if len(origin) == 0 {
return
}
// 获取用户数据
uids := []uint64{}
for _, item := range origin {
uids = append(uids, item.Uid)
}
userMap := vidhelpser.GetSimpleUserMapNoUID(uids)
// 组装返回数据
for i, item := range origin {
res[i] = FormatAppData(item, userMap)
}
return
}
// FormatAppData 格式化app数据
func FormatAppData(item immessagemod.ImMessage, userMap map[uint64]*vidmod.Publisher) (res *immessagemod.ImMessageInfo) {
if item.ID.IsZero() {
return
}
// 组装返回数据
res = &immessagemod.ImMessageInfo{
ID: item.ID,
GroupId: item.GroupId,
Uid: item.Uid,
Content: item.Content,
Image: item.Image,
CreatedAt: item.CreatedAt,
}
if userMap != nil {
user, ok := userMap[item.Uid]
if ok && user != nil {
res.Name = user.Name
res.Gender = user.Gender
res.Portrait = user.Portrait
}
}
return
}