mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
package register
|
|
|
|
import (
|
|
"Open_IM/pkg/common/config"
|
|
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
|
"Open_IM/pkg/common/log"
|
|
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
|
pbFriend "Open_IM/pkg/proto/friend"
|
|
"Open_IM/pkg/utils"
|
|
"context"
|
|
"strings"
|
|
)
|
|
|
|
var ChImportFriend chan *pbFriend.ImportFriendReq
|
|
|
|
func init() {
|
|
ChImportFriend = make(chan *pbFriend.ImportFriendReq, 1000)
|
|
}
|
|
|
|
func ImportFriendRoutine() {
|
|
for {
|
|
req := <-ChImportFriend
|
|
go func() {
|
|
friendUserIDList, err := imdb.GetRegisterAddFriendList(0, 0)
|
|
if err != nil {
|
|
log.NewError(req.OperationID, utils.GetSelfFuncName(), req, err.Error())
|
|
return
|
|
}
|
|
if len(friendUserIDList) == 0 {
|
|
return
|
|
}
|
|
req.FriendUserIDList = friendUserIDList
|
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName, req.OperationID)
|
|
if etcdConn == nil {
|
|
errMsg := req.OperationID + "getcdv3.GetConn == nil"
|
|
log.NewError(req.OperationID, errMsg)
|
|
return
|
|
}
|
|
client := pbFriend.NewFriendClient(etcdConn)
|
|
rpcResp, err := client.ImportFriend(context.Background(), req)
|
|
if err != nil {
|
|
log.NewError(req.OperationID, "ImportFriend failed ", err.Error(), req.String())
|
|
return
|
|
}
|
|
if rpcResp.CommonResp.ErrCode != 0 {
|
|
log.NewError(req.OperationID, "ImportFriend failed ", rpcResp)
|
|
}
|
|
}()
|
|
}
|
|
}
|