init
This commit is contained in:
149
server/DBServer/RankData.cpp
Normal file
149
server/DBServer/RankData.cpp
Normal file
@@ -0,0 +1,149 @@
|
||||
#include "StdAfx.h"
|
||||
|
||||
#define LIMIT_TOPRANK_COUNT 100
|
||||
|
||||
|
||||
void CLogicDBReqestHandler::SaveBaseRank(CDataPacketReader &inPacket)
|
||||
{
|
||||
DECLARE_FUN_TIME_PROF()
|
||||
int nRawServerIdx = 0, nLoginServerId = 0;
|
||||
inPacket >> nRawServerIdx >> nLoginServerId;
|
||||
|
||||
CDataPacket &retPack = allocProtoPacket((WORD)dcSaveBaseRank);
|
||||
retPack << nRawServerIdx << nLoginServerId;
|
||||
if (!m_pSQLConnection->Connected())
|
||||
{
|
||||
retPack << (BYTE)reDbErr;
|
||||
}
|
||||
else
|
||||
{
|
||||
int nError = m_pSQLConnection->Exec(szSQL_SaveTopRank, nRawServerIdx);
|
||||
if (!nError)
|
||||
{
|
||||
retPack << (BYTE)reSucc;
|
||||
m_pSQLConnection->ResetQuery();
|
||||
}
|
||||
else
|
||||
{
|
||||
retPack << (BYTE)reDbErr;
|
||||
}
|
||||
}
|
||||
flushProtoPacket(retPack);
|
||||
}
|
||||
|
||||
void CLogicDBReqestHandler::SaveBaseRankCS(CDataPacketReader &inPacket)
|
||||
{
|
||||
DECLARE_FUN_TIME_PROF()
|
||||
int nRawServerIdx = 0, nLoginServerId = 0;
|
||||
inPacket >> nRawServerIdx >> nLoginServerId;
|
||||
|
||||
unsigned int now_time;
|
||||
inPacket >> now_time;
|
||||
|
||||
CDataPacket &retPack = allocProtoPacket((WORD)dcSaveBaseRankCS);
|
||||
retPack << nRawServerIdx << nLoginServerId;
|
||||
if (!m_pSQLConnection->Connected())
|
||||
{
|
||||
retPack << (BYTE)reDbErr;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
SYSTEMTIME sysTime;
|
||||
CMiniDateTime nStartTime(now_time);
|
||||
nStartTime.decode(sysTime);
|
||||
|
||||
// CMiniDateTime now_time = CMiniDateTime::now();
|
||||
// int nNowTime = time(NULL);
|
||||
|
||||
// SYSTEMTIME sysTime;
|
||||
// now_time.decode(sysTime);
|
||||
//GetLocalTime( &sysTime );
|
||||
static char buf[20]={0};
|
||||
memset(&buf, 0, sizeof(buf));
|
||||
sprintf(buf,"%04d-%02d-%02d %02d:%02d:%02d",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);
|
||||
|
||||
int nError = m_pSQLConnection->Exec(szSQL_SaveTopRankCS, nRawServerIdx, buf);
|
||||
if (!nError)
|
||||
{
|
||||
retPack << (BYTE)reSucc;
|
||||
m_pSQLConnection->ResetQuery();
|
||||
}
|
||||
else
|
||||
{
|
||||
retPack << (BYTE)reDbErr;
|
||||
}
|
||||
}
|
||||
flushProtoPacket(retPack);
|
||||
|
||||
}
|
||||
void CLogicDBReqestHandler::LoadBaseRank(CDataPacketReader &inPacket)
|
||||
{
|
||||
DECLARE_FUN_TIME_PROF()
|
||||
int nRawServerId = 0, nLoginServerId = 0;
|
||||
inPacket >> nRawServerId >> nLoginServerId;
|
||||
CDataPacket& retPack = allocProtoPacket((WORD)dcLoadBaseRank);
|
||||
retPack << nRawServerId << nLoginServerId;
|
||||
if (!m_pSQLConnection->Connected())
|
||||
{
|
||||
retPack << (BYTE)reDbErr;
|
||||
}
|
||||
else
|
||||
{
|
||||
int nError = m_pSQLConnection->Query(szSQL_LoadTopRank, LIMIT_TOPRANK_COUNT, nRawServerId);
|
||||
if (!nError)
|
||||
{
|
||||
retPack << (BYTE)nError;
|
||||
MYSQL_ROW pRow = m_pSQLConnection->CurrentRow();
|
||||
int nCount = m_pSQLConnection->GetRowCount();
|
||||
retPack << (int)nCount;
|
||||
int nValue = 0;
|
||||
while (pRow)
|
||||
{
|
||||
sscanf(pRow[0], "%d", &nValue);
|
||||
retPack << (unsigned int)nValue;
|
||||
sscanf(pRow[1], "%d", &nValue);
|
||||
retPack << (int)nValue;
|
||||
sscanf(pRow[2], "%d", &nValue);
|
||||
retPack << (int)nValue;
|
||||
sscanf(pRow[3], "%d", &nValue);
|
||||
retPack << (int)nValue;
|
||||
sscanf(pRow[4], "%d", &nValue);
|
||||
retPack << (int)nValue;
|
||||
ACTORNAME sName = {0};
|
||||
if (pRow[5])
|
||||
{
|
||||
sscanf(pRow[5], "%s", &sName);
|
||||
}
|
||||
retPack.writeString(sName);
|
||||
sscanf(pRow[6], "%d", &nValue);
|
||||
retPack << (int)nValue;
|
||||
sscanf(pRow[7], "%d", &nValue);
|
||||
retPack << (int)nValue;
|
||||
sscanf(pRow[8], "%d", &nValue);//yy
|
||||
retPack << (int)nValue;
|
||||
|
||||
ACTORNAME sguildName = {0};
|
||||
if (pRow[9])
|
||||
{
|
||||
sscanf(pRow[9], "%s", &sguildName);
|
||||
}
|
||||
retPack.writeString(sguildName);
|
||||
sscanf(pRow[10], "%d", &nValue);//特权
|
||||
retPack << (int)nValue;
|
||||
pRow = m_pSQLConnection->NextRow();
|
||||
}
|
||||
m_pSQLConnection->ResetQuery(); //函数调用里没有重置数据的
|
||||
}
|
||||
else
|
||||
{
|
||||
OutputMsg(rmError,_T("%s装载排行榜数据失败"),__FUNCTION__);
|
||||
retPack << (BYTE)nError;
|
||||
}
|
||||
}
|
||||
flushProtoPacket(retPack);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user