Files
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

223 lines
7.7 KiB
C++

#include "StdAfx.h"
void CLogicDBReqestHandler::QueryRebateData(CDataPacketReader& packet)
{
DECLARE_FUN_TIME_PROF()
int nRawServerId = 0, nLoginServerId = 0;
unsigned int nActorId = 0;
packet >> nRawServerId >> nLoginServerId >> nActorId;
int nErrorCode = reSucc;
if (!m_pSQLConnection->Connected())
{
nErrorCode = reDbNotConnected;
}
else
{
nErrorCode = m_pSQLConnection->Query(szSQLSP_LoadRebateData, nActorId);
if (!nErrorCode)
{
CDataPacket& OutPacket = allocProtoPacket(dcLoadRebateData);
OutPacket << nRawServerId << nLoginServerId << nActorId << (byte)nErrorCode;
int nRowCount = m_pSQLConnection->GetRowCount();
OutPacket << (int)nRowCount;
MYSQL_ROW pRow = m_pSQLConnection->CurrentRow();
int nActorId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
while(pRow)
{
int nActorId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
sscanf(pRow[0], "%d", &nActorId);
sscanf(pRow[1], "%d", &nId);
sscanf(pRow[2], "%d", &nTimeType);
sscanf(pRow[3], "%d", &nStartTime);
sscanf(pRow[4], "%d", &nEndTime);
sscanf(pRow[5], "%d", &nClearTime);
sscanf(pRow[6], "%d", &nOfflineType);
sscanf(pRow[7], "%d", &nAtonce);
sscanf(pRow[8], "%d", &nOverlay);
sscanf(pRow[9], "%d", &nYBValue);
sscanf(pRow[10], "%d", &nStatus);
OutPacket << nActorId << nId << nTimeType << nStartTime << nEndTime << nClearTime << nOfflineType << nAtonce << nOverlay << nYBValue << nStatus;
pRow = m_pSQLConnection->NextRow();
}
flushProtoPacket(OutPacket);
m_pSQLConnection->ResetQuery();
}
}
if( nErrorCode != reSucc)
{
OutputMsg(rmError,_T("%s装载玩家的 返利数据 失败%u"),__FUNCTION__,nActorId);
CDataPacket& retPack = allocProtoPacket(dcLoadRebateData);
retPack << nRawServerId << nLoginServerId << nActorId << (BYTE) nErrorCode;
flushProtoPacket(retPack);
}
}
void CLogicDBReqestHandler::QueryNextDayRebateData(CDataPacketReader& packet)
{
DECLARE_FUN_TIME_PROF()
int nRawServerId = 0, nLoginServerId = 0, nAtonce = 0;
unsigned int nActorId = 0;
packet >> nRawServerId >> nLoginServerId >> nActorId >> nAtonce;
int nErrorCode = reSucc;
if (!m_pSQLConnection->Connected())
{
nErrorCode = reDbNotConnected;
}
else
{
nErrorCode = m_pSQLConnection->Query(szSQLSP_LoadNextDayRebateData, nActorId, nAtonce);
if (!nErrorCode)
{
CDataPacket& OutPacket = allocProtoPacket(dcLoadNextDayRebateData);
OutPacket << nRawServerId << nLoginServerId << nActorId << (byte)nErrorCode;
int nRowCount = m_pSQLConnection->GetRowCount();
OutPacket << (int)nRowCount;
MYSQL_ROW pRow = m_pSQLConnection->CurrentRow();
int nActorId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
while(pRow)
{
int nActorId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
sscanf(pRow[0], "%d", &nActorId);
sscanf(pRow[1], "%d", &nId);
sscanf(pRow[2], "%d", &nTimeType);
sscanf(pRow[3], "%d", &nStartTime);
sscanf(pRow[4], "%d", &nEndTime);
sscanf(pRow[5], "%d", &nClearTime);
sscanf(pRow[6], "%d", &nOfflineType);
sscanf(pRow[7], "%d", &nAtonce);
sscanf(pRow[8], "%d", &nOverlay);
sscanf(pRow[9], "%d", &nYBValue);
sscanf(pRow[10], "%d", &nStatus);
OutPacket << nActorId << nId << nTimeType << nStartTime << nEndTime << nClearTime << nOfflineType << nAtonce << nOverlay << nYBValue << nStatus;
pRow = m_pSQLConnection->NextRow();
}
flushProtoPacket(OutPacket);
m_pSQLConnection->ResetQuery();
}
}
if( nErrorCode != reSucc)
{
OutputMsg(rmError,_T("%s装载玩家的 返利数据 失败%u"),__FUNCTION__,nActorId);
CDataPacket& retPack = allocProtoPacket(dcLoadNextDayRebateData);
retPack << nRawServerId << nLoginServerId << nActorId << (BYTE) nErrorCode;
flushProtoPacket(retPack);
}
}
void CLogicDBReqestHandler::UpdateRebateData(CDataPacketReader& packet)
{
DECLARE_FUN_TIME_PROF()
int nRawServerId = 0, nLoginServerId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
unsigned int nActorId = 0, nCount = 0;
packet >> nRawServerId >> nLoginServerId >> nActorId >> nCount;
int nErrorCode = reSucc;
if (!m_pSQLConnection->Connected())
{
nErrorCode = reDbNotConnected;
}
else
{
for (int i = 0; i < nCount; i++)
{
packet >> nId >> nTimeType >> nStartTime >> nEndTime >> nClearTime >> nOfflineType >> nAtonce >> nOverlay >> nYBValue >> nStatus;
nErrorCode = m_pSQLConnection->Exec(szSQLSP_UpdateRebateData, nActorId, nId, nTimeType, nStartTime, nEndTime, nClearTime, nOfflineType, nAtonce, nOverlay, nYBValue, nStatus);
if (!nErrorCode)
{
m_pSQLConnection->ResetQuery();
}
}
}
if( nErrorCode != reSucc)
{
OutputMsg(rmError,_T("%s更新玩家的 返利数据 失败%u"),__FUNCTION__,nActorId);
CDataPacket& retPack = allocProtoPacket(dcUpdateRebateData);
retPack << nRawServerId << nLoginServerId << nActorId << (BYTE) nErrorCode;
flushProtoPacket(retPack);
}
}
void CLogicDBReqestHandler::SaveRebateToDB(CDataPacketReader& packet)
{
DECLARE_FUN_TIME_PROF()
int nRawServerId = 0, nLoginServerId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
unsigned int nActorId = 0, nCount = 0;
packet >> nRawServerId >> nLoginServerId >> nActorId >> nCount;
int nErrorCode = reSucc;
if (!m_pSQLConnection->Connected())
{
nErrorCode = reDbNotConnected;
}
else
{
for (int i = 0; i < nCount; i++)
{
packet >> nId >> nTimeType >> nStartTime >> nEndTime >> nClearTime >> nOfflineType >> nAtonce >> nOverlay >> nYBValue >> nStatus;
nErrorCode = m_pSQLConnection->Exec(szSQLSP_SaveRebateData, nActorId, nId, nTimeType, nStartTime, nEndTime, nClearTime, nOfflineType, nAtonce, nOverlay, nYBValue, nStatus);
if (!nErrorCode)
{
m_pSQLConnection->ResetQuery();
}
}
}
if( nErrorCode != reSucc)
{
OutputMsg(rmError,_T("%s保存玩家的 返利数据 失败%u"),__FUNCTION__,nActorId);
CDataPacket& retPack = allocProtoPacket(dcSaveRebateData);
retPack << nRawServerId << nLoginServerId << nActorId << (BYTE) nErrorCode;
flushProtoPacket(retPack);
}
}
void CLogicDBReqestHandler::ClearRebateData(CDataPacketReader& packet)
{
DECLARE_FUN_TIME_PROF()
int nRawServerId = 0, nLoginServerId = 0, nId = 0, nTimeType = 0, nStartTime = 0, nEndTime = 0, nClearTime = 0, nOfflineType = 0, nAtonce = 0, nOverlay = 0, nYBValue = 0, nStatus = 0;
unsigned int nActorId = 0, nCount = 0;
packet >> nRawServerId >> nLoginServerId >> nActorId >> nCount;
int nErrorCode = reSucc;
if (!m_pSQLConnection->Connected())
{
nErrorCode = reDbNotConnected;
}
else
{
for (int i = 0; i < nCount; i++)
{
packet >> nId >> nTimeType >> nStartTime >> nEndTime >> nClearTime >> nOfflineType >> nAtonce >> nOverlay >> nYBValue >> nStatus;
nErrorCode = m_pSQLConnection->Exec(szSQLSP_ClearRebateData, nActorId, nId, nTimeType, nStartTime, nEndTime, nClearTime, nOfflineType, nAtonce, nOverlay, nYBValue, nStatus);
if (!nErrorCode)
{
m_pSQLConnection->ResetQuery();
}
}
}
if( nErrorCode != reSucc)
{
OutputMsg(rmError,_T("%s清理玩家的 返利数据 失败%u"),__FUNCTION__,nActorId);
CDataPacket& retPack = allocProtoPacket(dcClearRebateData);
retPack << nRawServerId << nLoginServerId << nActorId << (BYTE) nErrorCode;
flushProtoPacket(retPack);
}
}