using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Sog; using ProtoCSStruct; namespace GameDB { public static class RankOp { public static void OnQueryRankReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSQueryRankDbReq req = ref packet.GetMessage(); TraceLog.Trace("RankOp.OnQueryRankReq rankId {0} RealmId {1} groupId {2}" , req.RankId, req.RealmId, req.GroupId); var res = new SSQueryRankDbRes { RankId = req.RankId, RealmId = req.RealmId, GroupId = req.GroupId, BeginTime = req.BeginTime, }; bool ret = dbOperator.QueryGameDbRank(req.RankId, req.RealmId, req.GroupId, (int)req.BeginTime, ref res.Data); if (ret == false) { TraceLog.Error("RankOp.OnQueryRankReq failed, rankId {0} realmId {1} groupId {2}" , req.RankId, req.RealmId, req.GroupId); return; } TraceLog.Trace("RankOp.OnQueryRankReq succ, rankId {0} realmId {1} groupId {2}" , req.RankId, req.RealmId, req.GroupId); GameDBServerUtils.GetPacketSender() .SendToServerByID(remoteAppID, (int)SSGameMsgID.QueryRankDbRes, ref res, 0); } public static void OnSaveRankReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSSaveRankDbReq req = ref packet.GetMessage(); TraceLog.Trace("RankOp.OnSaveRankReq rankId {0} RealmId {1} groupId {2}" , req.RankId, req.RealmId, req.GroupId); var res = new SSSaveRankDbRes { RankId = req.RankId, RealmId = req.RealmId, GroupId = req.GroupId, DataSeq = req.DataSeq, BeginTime = req.BeginTime, Ret = 0, }; bool ret = dbOperator.ReplaceGameRank(req.RankId, req.RealmId, req.GroupId, (int)req.BeginTime, ref req.Data); if (!ret) { res.Ret = -1; TraceLog.Error("RankOp.OnSaveRankReq failed, rankId {0} realmId {1} groupId {2}" , req.RankId, req.RealmId, req.GroupId); } else { TraceLog.Trace("RankOp.OnSaveRankReq succ, rankId {0} realmId {1} groupId {2}" , req.RankId, req.RealmId, req.GroupId); } GameDBServerUtils.GetPacketSender() .SendToServerByID(remoteAppID, (int)SSGameMsgID.SaveRankDbRes, ref res, 0); } /// /// /// /// /// /// public static void OnQueryActRankDbReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSQueryActRankDbReq req = ref packet.GetMessage(); TraceLog.Trace("RankOp.OnQueryActRankDbReq rankId {0} RealmId {1} " , req.ActRankId, req.RealmId); var res = new SSQueryActRankDbRes() { RealmId = req.RealmId, ActRankId = req.ActRankId }; var ret = dbOperator.QueryActRank(ref req, ref res); res.Ret = ret; if (ret < 0) { TraceLog.Error("RankOp.OnQueryActRankDbReq failed, rankId {0} realmId {1}" , req.ActRankId, req.RealmId); return; } TraceLog.Trace("RankOp.OnQueryActRankDbReq succ, rankId {0} realmId {1}" , req.ActRankId, req.RealmId); GameDBServerUtils.GetPacketSender() .SendToServerByID(remoteAppID, (int)SSGameMsgID.QueryActRankDbRes, ref res, 0); } /// /// /// /// /// /// public static void OnSaveActRankDataReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSSaveActRankDataReq req = ref packet.GetMessage(); TraceLog.Trace("RankOp.OnSaveActRankDataReq rankId {0} RealmId {1}" , req.ActRankId, req.RealmId); var res = new SSSaveActRankDataRes { ActRankId = req.ActRankId, RealmId = req.RealmId, }; bool ret = dbOperator.ReplaceActRank(ref req); if (!ret) { TraceLog.Error("RankOp.OnSaveActRankDataReq failed, rankId {0} realmId {1} " , req.ActRankId, req.RealmId); } else { res.SuccessDataSeq = req.DataSeq; TraceLog.Trace("RankOp.OnSaveActRankDataReq succ, rankId {0} realmId {1} " , req.ActRankId, req.RealmId); } GameDBServerUtils.GetPacketSender() .SendToServerByID(remoteAppID, (int)SSGameMsgID.SaveActRankDataRes, ref res, 0); } } }