You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.3 KiB
76 lines
2.3 KiB
package group
|
|
|
|
import (
|
|
"Open_IM/pkg/common/db/table/relation"
|
|
pbGroup "Open_IM/pkg/proto/group"
|
|
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
|
"time"
|
|
)
|
|
|
|
func DbToPbGroupInfo(m *relation.GroupModel, ownerUserID string, memberCount uint32) *open_im_sdk.GroupInfo {
|
|
return &open_im_sdk.GroupInfo{
|
|
GroupID: m.GroupID,
|
|
GroupName: m.GroupName,
|
|
Notification: m.Notification,
|
|
Introduction: m.Introduction,
|
|
FaceURL: m.FaceURL,
|
|
OwnerUserID: ownerUserID,
|
|
CreateTime: m.CreateTime.UnixMilli(),
|
|
MemberCount: memberCount,
|
|
Ex: m.Ex,
|
|
Status: m.Status,
|
|
CreatorUserID: m.CreatorUserID,
|
|
GroupType: m.GroupType,
|
|
NeedVerification: m.NeedVerification,
|
|
LookMemberInfo: m.LookMemberInfo,
|
|
ApplyMemberFriend: m.ApplyMemberFriend,
|
|
NotificationUpdateTime: m.NotificationUpdateTime.UnixMilli(),
|
|
NotificationUserID: m.NotificationUserID,
|
|
}
|
|
}
|
|
|
|
func PbToDbGroupRequest(req *pbGroup.GroupApplicationResponseReq, handleUserID string) *relation.GroupRequestModel {
|
|
return &relation.GroupRequestModel{
|
|
UserID: req.FromUserID,
|
|
GroupID: req.GroupID,
|
|
HandleResult: req.HandleResult,
|
|
HandledMsg: req.HandledMsg,
|
|
HandleUserID: handleUserID,
|
|
HandledTime: time.Now(),
|
|
}
|
|
}
|
|
|
|
func PbToDbMapGroupInfoForSet(group *open_im_sdk.GroupInfoForSet) map[string]any {
|
|
m := make(map[string]any)
|
|
if group.GroupName != "" {
|
|
m["group_name"] = group.GroupName
|
|
}
|
|
if group.Notification != "" {
|
|
m["notification"] = group.Notification
|
|
}
|
|
if group.Introduction != "" {
|
|
m["introduction"] = group.Introduction
|
|
}
|
|
if group.FaceURL != "" {
|
|
m["face_url"] = group.FaceURL
|
|
}
|
|
if group.NeedVerification != nil {
|
|
m["need_verification"] = group.NeedVerification.Value
|
|
}
|
|
if group.LookMemberInfo != nil {
|
|
m["look_member_info"] = group.LookMemberInfo.Value
|
|
}
|
|
if group.ApplyMemberFriend != nil {
|
|
m["apply_member_friend"] = group.ApplyMemberFriend.Value
|
|
}
|
|
return m
|
|
}
|
|
|
|
func DbToBpCMSGroup(m *relation.GroupModel, ownerUserID string, ownerUserName string, memberCount uint32) *pbGroup.CMSGroup {
|
|
return &pbGroup.CMSGroup{
|
|
GroupInfo: DbToPbGroupInfo(m, ownerUserID, memberCount),
|
|
GroupOwnerUserID: ownerUserID,
|
|
GroupOwnerUserName: ownerUserName,
|
|
}
|
|
}
|