上传底层

This commit is contained in:
liwei1dao 2022-10-14 10:31:18 +08:00
parent 43ca0a9491
commit 7f5f1b46cc
2 changed files with 20 additions and 5 deletions

View File

@ -18,9 +18,9 @@ type (
//归还会话对象
PutUserSession(session comm.IUserSession)
//向指定用户发送消息
SendMsgToUser(mainType, subType string, msg proto.Message, user *pb.CacheUser) (err error)
SendMsgToUser(mainType, subType string, msg proto.Message, uid string) (err error)
//向多个用户发送消息
SendMsgToUsers(mainType, subType string, msg proto.Message, user ...*pb.CacheUser) (err error)
SendMsgToUsers(mainType, subType string, msg proto.Message, uids ...string) (err error)
//校验消耗资源
CheckConsumeRes(uid string, res []*cfg.Gameatn) (code pb.ErrorCode)
}

View File

@ -122,7 +122,12 @@ func (this *ModuleBase) PutUserSession(session comm.IUserSession) {
}
//向指定用户发送消息
func (this *ModuleBase) SendMsgToUser(mainType, subType string, msg proto.Message, user *pb.CacheUser) (err error) {
func (this *ModuleBase) SendMsgToUser(mainType, subType string, msg proto.Message, uid string) (err error) {
user := this.ModuleUser.GetUserSession(uid)
if user == nil {
err = fmt.Errorf("user:%v on found", uid)
return
}
session := this.scomp.GetUserSession(user)
session.SendMsg(mainType, subType, msg)
err = session.Push()
@ -131,14 +136,24 @@ func (this *ModuleBase) SendMsgToUser(mainType, subType string, msg proto.Messag
}
//向多个用户发送消息
func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Message, user ...*pb.CacheUser) (err error) {
func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Message, uids ...string) (err error) {
var (
users map[string]*pb.CacheUser
gateways map[string]map[string][]string = make(map[string]map[string][]string)
cluster map[string][]string = make(map[string][]string)
gateway []string
ok bool
)
for _, v := range user {
for _, v := range uids {
if user := this.ModuleUser.GetUserSession(v); user != nil {
if user == nil {
err = fmt.Errorf("user:%v on found", v)
continue
}
users[v] = user
}
}
for _, v := range users {
if cluster, ok = gateways[v.ServiceTag]; !ok {
cluster = make(map[string][]string)
gateways[v.ServiceTag] = cluster