Files
open-im-server/internal/rpc/group/g.go
T

69 lines
1.9 KiB
Go
Raw Normal View History

2023-01-13 16:56:46 +08:00
package group
import (
"Open_IM/pkg/common/constant"
2023-01-28 15:55:04 +08:00
relation "Open_IM/pkg/common/db/mysql"
2023-01-13 16:56:46 +08:00
"Open_IM/pkg/common/tools"
pbGroup "Open_IM/pkg/proto/group"
2023-01-29 18:13:02 +08:00
sdk_ws "Open_IM/pkg/proto/sdk_ws"
2023-01-13 16:56:46 +08:00
"Open_IM/pkg/utils"
"context"
2023-01-13 20:58:06 +08:00
"math/big"
"strconv"
2023-01-13 16:56:46 +08:00
"time"
)
2023-01-28 15:55:04 +08:00
func getDBGroupRequest(ctx context.Context, req *pbGroup.GroupApplicationResponseReq) (dbGroupRequest *relation.GroupRequest) {
dbGroupRequest = &relation.GroupRequest{}
2023-01-13 16:56:46 +08:00
utils.CopyStructFields(&dbGroupRequest, req)
dbGroupRequest.UserID = req.FromUserID
dbGroupRequest.HandleUserID = tools.OpUserID(ctx)
dbGroupRequest.HandledTime = time.Now()
return dbGroupRequest
}
2023-01-28 15:55:04 +08:00
func getDBGroupMember(ctx context.Context, groupID, userID string) (dbGroupMember *relation.GroupMember, err error) {
dbGroupMember = &relation.GroupMember{}
2023-01-13 16:56:46 +08:00
2023-01-28 15:55:04 +08:00
member := relation.GroupMember{}
2023-01-13 20:58:06 +08:00
member.GroupID = groupID
member.UserID = userID
2023-01-13 16:56:46 +08:00
member.RoleLevel = constant.GroupOrdinaryUsers
member.OperatorUserID = tools.OpUserID(ctx)
member.FaceURL = user.FaceURL
member.Nickname = user.Nickname
member.JoinSource = request.JoinSource
member.InviterUserID = request.InviterUserID
member.MuteEndTime = time.Unix(int64(time.Now().Second()), 0)
2023-01-13 20:58:06 +08:00
return dbGroupMember, nil
}
2023-01-29 18:13:02 +08:00
func getUsersInfo(ctx context.Context, userIDs []string) ([]*sdk_ws.UserInfo, error) {
2023-01-13 20:58:06 +08:00
return nil, nil
}
2023-01-29 18:13:02 +08:00
func getUserMap(ctx context.Context, userIDs []string) (map[string]*sdk_ws.UserInfo, error) {
users, err := getUsersInfo(ctx, userIDs)
if err != nil {
return nil, err
}
userMap := make(map[string]*sdk_ws.UserInfo)
for i, user := range users {
userMap[user.UserID] = users[i]
}
return userMap, nil
}
2023-01-13 20:58:06 +08:00
func genGroupID(ctx context.Context, groupID string) string {
if groupID != "" {
return groupID
}
groupID = utils.Md5(tools.OperationID(ctx) + strconv.FormatInt(time.Now().UnixNano(), 10))
bi := big.NewInt(0)
bi.SetString(groupID[0:8], 16)
groupID = bi.String()
return groupID
2023-01-13 16:56:46 +08:00
}