上传底层
This commit is contained in:
parent
43ca0a9491
commit
7f5f1b46cc
@ -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)
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user