53 lines
1.2 KiB
Go
Executable File
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
|
|
}
|