You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
5.3 KiB
154 lines
5.3 KiB
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<SSQueryRankDbReq>();
|
|
|
|
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<SSSaveRankDbReq>();
|
|
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="remoteAppID"></param>
|
|
/// <param name="packet"></param>
|
|
/// <param name="dbOperator"></param>
|
|
public static void OnQueryActRankDbReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator)
|
|
{
|
|
ref SSQueryActRankDbReq req = ref packet.GetMessage<SSQueryActRankDbReq>();
|
|
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="remoteAppID"></param>
|
|
/// <param name="packet"></param>
|
|
/// <param name="dbOperator"></param>
|
|
public static void OnSaveActRankDataReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator)
|
|
{
|
|
ref SSSaveActRankDataReq req = ref packet.GetMessage<SSSaveActRankDataReq>();
|
|
|
|
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);
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|