上传底层
This commit is contained in:
parent
43ca0a9491
commit
7f5f1b46cc
@ -18,9 +18,9 @@ type (
|
|||||||
//归还会话对象
|
//归还会话对象
|
||||||
PutUserSession(session comm.IUserSession)
|
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)
|
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 := this.scomp.GetUserSession(user)
|
||||||
session.SendMsg(mainType, subType, msg)
|
session.SendMsg(mainType, subType, msg)
|
||||||
err = session.Push()
|
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 (
|
var (
|
||||||
|
users map[string]*pb.CacheUser
|
||||||
gateways map[string]map[string][]string = make(map[string]map[string][]string)
|
gateways map[string]map[string][]string = make(map[string]map[string][]string)
|
||||||
cluster map[string][]string = make(map[string][]string)
|
cluster map[string][]string = make(map[string][]string)
|
||||||
gateway []string
|
gateway []string
|
||||||
ok bool
|
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 {
|
if cluster, ok = gateways[v.ServiceTag]; !ok {
|
||||||
cluster = make(map[string][]string)
|
cluster = make(map[string][]string)
|
||||||
gateways[v.ServiceTag] = cluster
|
gateways[v.ServiceTag] = cluster
|
||||||
|
Loading…
Reference in New Issue
Block a user