first commit
This commit is contained in:
94
service/group/logic/util.go
Normal file
94
service/group/logic/util.go
Normal file
@@ -0,0 +1,94 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
xerror "gitlab.33.cn/chat/dtalk/pkg/error"
|
||||
pb "gitlab.33.cn/chat/dtalk/service/group/api"
|
||||
"gitlab.33.cn/chat/dtalk/service/group/model/biz"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func FilteredMemberIds(memberIds []string) []string {
|
||||
newMemberIds := make([]string, 0, len(memberIds))
|
||||
for _, memberId := range memberIds {
|
||||
memberId, err := FilteredMemberId(memberId)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
newMemberIds = append(newMemberIds, memberId)
|
||||
}
|
||||
|
||||
return newMemberIds
|
||||
}
|
||||
|
||||
func FilteredMemberId(memberId string) (string, error) {
|
||||
memberId = strings.TrimSpace(memberId)
|
||||
if memberId != "" && len(memberId) < 40 {
|
||||
return memberId, nil
|
||||
}
|
||||
return "", xerror.NewError(xerror.ParamsError)
|
||||
}
|
||||
|
||||
func NewRPCGroupInfo(do *biz.GroupInfo) *pb.GroupBizInfo {
|
||||
if do == nil {
|
||||
return &pb.GroupBizInfo{}
|
||||
}
|
||||
|
||||
return &pb.GroupBizInfo{
|
||||
Id: do.GroupId,
|
||||
MarkId: do.GroupMarkId,
|
||||
Name: do.GroupName,
|
||||
Avatar: do.GroupAvatar,
|
||||
MemberNum: do.GroupMemberNum,
|
||||
MemberMaximum: do.GroupMaximum,
|
||||
Introduce: do.GroupIntroduce,
|
||||
Status: pb.GroupStatus(do.GroupStatus),
|
||||
OwnerId: do.GroupOwnerId,
|
||||
CreateTime: do.GroupCreateTime,
|
||||
UpdateTime: do.GroupUpdateTime,
|
||||
JoinType: pb.GroupJoinType(do.GroupJoinType),
|
||||
MuteType: pb.GroupMuteType(do.GroupMuteType),
|
||||
FriendType: pb.GroupFriendType(do.GroupFriendType),
|
||||
MuteNum: do.MuteNum,
|
||||
AdminNum: do.AdminNum,
|
||||
AESKey: do.AESKey,
|
||||
PubName: do.GroupPubName,
|
||||
Type: pb.GroupType(do.GroupType),
|
||||
Owner: nil,
|
||||
Person: nil,
|
||||
Members: nil,
|
||||
}
|
||||
}
|
||||
|
||||
func NewRPCGroupInfos(dos []*biz.GroupInfo) []*pb.GroupBizInfo {
|
||||
dtos := make([]*pb.GroupBizInfo, 0, len(dos))
|
||||
for _, do := range dos {
|
||||
dtos = append(dtos, NewRPCGroupInfo(do))
|
||||
}
|
||||
|
||||
return dtos
|
||||
}
|
||||
|
||||
func NewRPCGroupMemberInfo(do *biz.GroupMember) *pb.GroupMemberBizInfo {
|
||||
if do == nil {
|
||||
return &pb.GroupMemberBizInfo{}
|
||||
}
|
||||
|
||||
return &pb.GroupMemberBizInfo{
|
||||
GroupId: do.GroupId,
|
||||
Id: do.GroupMemberId,
|
||||
Name: do.GroupMemberName,
|
||||
Type: pb.GroupMemberType(do.GroupMemberType),
|
||||
MuteTime: do.GroupMemberMuteTime,
|
||||
JoinTime: do.GroupMemberJoinTime,
|
||||
}
|
||||
}
|
||||
|
||||
func NewRPCGroupMemberInfos(dos []*biz.GroupMember) []*pb.GroupMemberBizInfo {
|
||||
dtos := make([]*pb.GroupMemberBizInfo, 0, len(dos))
|
||||
for _, do := range dos {
|
||||
dtos = append(dtos, NewRPCGroupMemberInfo(do))
|
||||
}
|
||||
|
||||
return dtos
|
||||
}
|
||||
Reference in New Issue
Block a user