diff --git a/common/rpc/rpcName.go b/common/rpc/rpcName.go index 43bc7fa..0c62a36 100644 --- a/common/rpc/rpcName.go +++ b/common/rpc/rpcName.go @@ -11,4 +11,6 @@ const ( GetUserResources = "get.user.resources.rpc" GetGameUser = "get.game.user.rpc" AddUserResources = "add.user.resources.rpc" + SaveGameRecordLog = "save.game.record.log.rpc" // 保存对局日志 + SaveUserRecordLog = "save.user.record.log.rpc" // 保存玩家战绩 ) diff --git a/server/db/operation/userGameLog.go b/server/db/operation/userGameLog.go new file mode 100644 index 0000000..b635b92 --- /dev/null +++ b/server/db/operation/userGameLog.go @@ -0,0 +1,16 @@ +package operation + +import ( + "game/common/model" + "game/common/model/user" +) + +// 游戏对局日志 +func NewGameRecordLogOp() *model.TableOp[user.GameRecordLog] { + return model.NewTableOp[user.GameRecordLog](LogDB, nil) +} + +// 玩家游戏日志 +func NewUserRecordLogOp() *model.TableOp[user.UserRecordLog] { + return model.NewTableOp[user.UserRecordLog](LogDB, nil) +} diff --git a/server/db/server/handlerUser.go b/server/db/server/handlerUser.go index e2a23fb..a161df9 100644 --- a/server/db/server/handlerUser.go +++ b/server/db/server/handlerUser.go @@ -171,3 +171,27 @@ func (s *DbService) onGetGameUser(iMsg *ipb.InternalMsg) *ipb.InternalMsg { }) return iMsg } + +// 保存游戏对局日志 +func (s *DbService) onSaveGameRecordLog(iMsg *ipb.InternalMsg) *ipb.InternalMsg { + // 日志,没必要阻塞主协程 + ksync.GoSafe(func() { + operationDb[user.GameRecordLog](iMsg, func(record *user.GameRecordLog) (*user.GameRecordLog, pb.ErrCode) { + _, code := operation.NewGameRecordLogOp().Create(record) + return nil, code + }) + }, nil) + return iMsg +} + +// 保存游戏对局日志 +func (s *DbService) onSaveUserRecordLog(iMsg *ipb.InternalMsg) *ipb.InternalMsg { + // 日志,没必要阻塞主协程 + ksync.GoSafe(func() { + operationDb[user.UserRecordLog](iMsg, func(record *user.UserRecordLog) (*user.UserRecordLog, pb.ErrCode) { + _, code := operation.NewUserRecordLogOp().Create(record) + return nil, code + }) + }, nil) + return iMsg +} diff --git a/server/db/server/processor.go b/server/db/server/processor.go index 41eb7a3..aadb249 100644 --- a/server/db/server/processor.go +++ b/server/db/server/processor.go @@ -16,5 +16,7 @@ func (s *DbService) initRpcProcessor() { rpc.GetUserResources: s.onGetUserResources, rpc.GetGameUser: s.onGetGameUser, rpc.AddUserResources: s.onAddUserResources, + rpc.SaveGameRecordLog: s.onSaveGameRecordLog, + rpc.SaveUserRecordLog: s.onSaveUserRecordLog, }) }