From daffb7d9753c4a64d2401edd0ea1aa343ecb0641 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 19 Oct 2023 18:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=9C=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/dcolor/api_accept.go | 16 ++++++++++++++-- modules/dcolor/rooms.go | 12 ++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/modules/dcolor/api_accept.go b/modules/dcolor/api_accept.go index d74e78df9..4e8fab0ee 100644 --- a/modules/dcolor/api_accept.go +++ b/modules/dcolor/api_accept.go @@ -28,13 +28,14 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.DColorAcceptReq) redRecord *pb.DBDColorQiecuoRecord blueRecord *pb.DBDColorQiecuoRecord room *Room + sessions []comm.IUserSession keep bool ) if errdata = this.AcceptCheck(session, req); errdata != nil { return } - + sessions = append(sessions, session.Clone()) //校验切磋请求是否超时 if redRecord, err = this.module.modelQiecuo.queryQiecuo(req.Uid); err != nil { errdata = &pb.ErrorData{ @@ -80,6 +81,17 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.DColorAcceptReq) return } + if redsession, ok := this.module.GetUserSession(req.Uid); !ok { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleUserOff, + Title: pb.ErrorCode_BattleUserOff.ToString(), + Message: "req.uid is Off!", + } + return + } else { + sessions = append(sessions, redsession) + } + //发起者 red red, err := this.module.ModuleUser.GetUser(req.Uid) if err != nil { @@ -123,7 +135,7 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.DColorAcceptReq) Blue: &pb.DBDColorRoomPlayer{ Info: comm.GetUserBaseInfo(blue), }, - }); err != nil { + }, sessions); err != nil { return } diff --git a/modules/dcolor/rooms.go b/modules/dcolor/rooms.go index 87fdb198b..ebe99a56c 100644 --- a/modules/dcolor/rooms.go +++ b/modules/dcolor/rooms.go @@ -2,6 +2,7 @@ package dcolor import ( "fmt" + "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/core/cbase" "go_dreamfactory/pb" @@ -35,7 +36,14 @@ func (this *roomsComp) queryRoom(rid string) (room *Room, err error) { return } -func (this *roomsComp) newRoom(data *pb.DBDColorRoom) (room *Room, err error) { - +func (this *roomsComp) newRoom(data *pb.DBDColorRoom, session []comm.IUserSession) (room *Room, err error) { + room = &Room{ + module: this.module, + data: data, + sessions: session, + } + this.lock.Lock() + this.rooms[data.Rid] = room + this.lock.Unlock() return }