2024-12-21 10:04:04 +08:00
# include "StdAfx.h"
# include "DNMarketTask.h"
# include "DNConnection.h"
# include "DNSQLConnectionManager.h"
# include "DNSQLMembership.h"
# include "DNSQLWorld.h"
# include "DNExtManager.h"
# include "Log.h"
CDNMarketTask : : CDNMarketTask ( CDNConnection * pConnection )
: CDNMessageTask ( pConnection )
{
}
CDNMarketTask : : ~ CDNMarketTask ( void )
{
}
void CDNMarketTask : : OnRecvMessage ( int nThreadID , int nMainCmd , int nSubCmd , char * pData )
{
CDNSQLMembership * pMembershipDB = NULL ;
CDNSQLWorld * pWorldDB = NULL ;
int nRet = ERROR_DB ;
TQHeader * pHeader = ( TQHeader * ) pData ;
if ( pHeader - > nAccountDBID > 0 )
{
if ( g_pSPErrorCheckManager - > bIsError ( pHeader - > nAccountDBID ) = = true )
{
//g_Log.Log(LogType::_ERROR, pHeader->cWorldSetID, pHeader->nAccountDBID, 0, 0, L"[SP_ERRORCHECK] Main:%d, Sub:%d\r\n", nMainCmd, nSubCmd);
return ;
}
}
switch ( nSubCmd )
{
case QUERY_GETPAGETRADE :
{
TQGetPageTrade * pMarket = ( TQGetPageTrade * ) pData ;
TAGetPageTrade Market ;
memset ( & Market , 0 , sizeof ( TAGetPageTrade ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryGetPageTrade ( pMarket , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETPAGETRADE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETPAGETRADE:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_GETCOUNTTRADE :
break ;
case QUERY_GETLISTMYTRADE :
{
TQGetListMyTrade * pMarket = ( TQGetListMyTrade * ) pData ;
TAGetListMyTrade Market ;
memset ( & Market , 0 , sizeof ( TAGetListMyTrade ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryGetListMyTrade ( pMarket , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETLISTMYTRADE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETLISTMYTRAD:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_GETCOUNTMYTRADE :
break ;
case QUERY_ADDTRADE :
{
TQAddTrade * pMarket = ( TQAddTrade * ) pData ;
TAAddTrade Market ;
memset ( & Market , 0 , sizeof ( TAAddTrade ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
Market . cInvenIndex = pMarket - > cInvenIndex ;
Market . wCount = pMarket - > wCount ;
Market . nPrice = pMarket - > nPrice ;
Market . cInvenType = pMarket - > cInvenType ;
Market . biSerial = pMarket - > nSerial ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryAddTrade ( pMarket , & Market ) ;
switch ( Market . nRetCode )
{
case ERROR_NONE :
case 103169 : // <20> ŷ<EFBFBD> <C5B7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ƚ<> <C8BD> <EFBFBD> <EFBFBD> <20> ʰ<EFBFBD> <CAB0> Ͽ<EFBFBD> <CFBF> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
case 103186 : // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϰ<EFBFBD> <20> ŷ<EFBFBD> <C5B7> ҿ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Ƚ<> <C8BD> <EFBFBD> <EFBFBD> <20> ʰ<EFBFBD> <CAB0> Ͽ<EFBFBD> <CFBF> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
break ;
default :
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_ADDTRADE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
break ;
}
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_ADDTRADE:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_CANCELTRADE :
{
TQCancelTrade * pMarket = ( TQCancelTrade * ) pData ;
TACancelTrade Market ;
memset ( & Market , 0 , sizeof ( TACancelTrade ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
Market . nMarketDBID = pMarket - > nMarketDBID ;
Market . cInvenSlotIndex = pMarket - > cInvenSlotIndex ;
Market . bCashItem = pMarket - > bCashItem ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryCancelTrade ( pMarket , & Market ) ;
Market . Item . bEternity = true ;
Market . Item . nLifespan = LIFESPANMAX ;
if ( Market . bCashItem ) Market . Item . bSoulbound = true ;
switch ( Market . nRetCode )
{
case ERROR_NONE :
case 103173 : // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʽ <EFBFBD> <CABD> ϴ<EFBFBD> .
case 103174 : // <20> ̹<EFBFBD> <20> ȸ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
break ;
default :
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_CANCELTRADE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
break ;
}
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_CANCELTRADE:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_BUYTRADEITEM :
{
# if defined(PRE_ADD_DIRECT_BUY_UPGRADEITEM)
TQBuyTradeItem * pMarket = ( TQBuyTradeItem * ) pData ;
TABuyTradeItem Market ;
memset ( & Market , 0 , sizeof ( TABuyTradeItem ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
Market . nMarketDBID = pMarket - > nMarketDBID ;
Market . cInvenSlotIndex = pMarket - > cInvenSlotIndex ;
Market . bMini = pMarket - > bMini ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
TAGetTradeItemID Trade ;
memset ( & Trade , 0 , sizeof ( TAGetTradeItemID ) ) ;
Trade . nAccountDBID = pMarket - > nAccountDBID ;
Trade . nMarketDBID = pMarket - > nMarketDBID ;
Trade . nRetCode = pWorldDB - > QueryGetTradeItemID ( pMarket - > nMarketDBID , & Trade ) ;
if ( Trade . nRetCode = = ERROR_NONE ) {
pMarket - > bCashItem = g_pExtManager - > IsCashItem ( Trade . nMarketItemID ) ;
if ( ( ! pMarket - > bCashItem ) & & ( Market . cInvenSlotIndex = = ( BYTE ) - 1 ) ) {
Market . nRetCode = ERROR_ITEM_INVENTORY_NOTENOUGH ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
return ;
}
# if defined(PRE_ADD_PETALTRADE)
if ( Trade . cMethodCode ! = DBDNWorldDef : : PayMethodCode : : Petal )
Trade . nPrice = 0 ;
// <20> <> Ż<EFBFBD> <C5BB> ǰ<EFBFBD> ̸<EFBFBD> <20> <> Ż<EFBFBD> <C5BB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ..
if ( Trade . nPrice > 0 )
{
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
if ( pMembershipDB )
Market . nRetCode = pMembershipDB - > QueryPurchaseTradeItemByPetal ( pMarket - > biCharacterDBID , Trade . nPrice ) ;
else
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM] MemberShipDB not found \r \n " , pMarket - > nAccountDBID ) ;
if ( Market . nRetCode ! = ERROR_NONE )
{
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
return ;
}
}
# endif
Market . nRetCode = pWorldDB - > QueryBuyTradeItem ( pMarket , & Market ) ;
Market . Item . bEternity = true ;
Market . Item . nLifespan = LIFESPANMAX ;
if ( pMarket - > bCashItem ) Market . Item . bSoulbound = true ;
if ( Market . nRetCode ! = ERROR_NONE )
{
switch ( Market . nRetCode )
{
case 103174 : // <20> ̹<EFBFBD> <20> ȸ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
case 103175 : // <20> <> <EFBFBD> ϵǾ<CFB5> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
case 103325 : // <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
break ;
default :
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
break ;
}
# if defined(PRE_ADD_PETALTRADE)
if ( Trade . nPrice > 0 )
{
// <20> <> <EFBFBD> ⼭ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Ż <20> <> <EFBFBD> <EFBFBD>
int nTotalPetal = 0 ;
int nRetCode = ERROR_DB ;
if ( pMembershipDB )
nRetCode = pMembershipDB - > QueryAddPetalIncome ( pMarket - > biCharacterDBID , 0 , Trade . nPrice , nTotalPetal , true ) ;
if ( nRetCode ! = ERROR_NONE )
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> å<EFBFBD> <C3A5> <EFBFBD> <EFBFBD> ..
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM] AddPetal Fail Petal:%d \r \n " , pMarket - > nAccountDBID , Trade . nPrice ) ;
}
# endif
}
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETTRADEITEMID:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
Market . nRetCode = Trade . nRetCode ;
}
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
# else // #if defined(PRE_ADD_DIRECT_BUY_UPGRADEITEM)
TQBuyTradeItem * pMarket = ( TQBuyTradeItem * ) pData ;
TABuyTradeItem Market ;
memset ( & Market , 0 , sizeof ( TABuyTradeItem ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
Market . nMarketDBID = pMarket - > nMarketDBID ;
Market . cInvenSlotIndex = pMarket - > cInvenSlotIndex ;
# if defined(PRE_ADD_PETALTRADE)
// <20> <> Ż<EFBFBD> <C5BB> ǰ<EFBFBD> ̸<EFBFBD> <20> <> Ż<EFBFBD> <C5BB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ..
if ( pMarket - > nPetalPrice > 0 )
{
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
if ( pMembershipDB )
Market . nRetCode = pMembershipDB - > QueryPurchaseTradeItemByPetal ( pMarket - > biCharacterDBID , pMarket - > nPetalPrice ) ;
else
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM] MemberShipDB not found \r \n " , pMarket - > nAccountDBID ) ;
if ( Market . nRetCode ! = ERROR_NONE )
{
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
return ;
}
}
# endif
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB )
{
Market . nRetCode = pWorldDB - > QueryBuyTradeItem ( pMarket , & Market ) ;
Market . Item . bEternity = true ;
Market . Item . nLifespan = LIFESPANMAX ;
if ( pMarket - > bCashItem ) Market . Item . bSoulbound = true ;
if ( Market . nRetCode ! = ERROR_NONE )
{
switch ( Market . nRetCode )
{
case 103174 : // <20> ̹<EFBFBD> <20> ȸ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
case 103175 : // <20> <> <EFBFBD> ϵǾ<CFB5> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
case 103325 : // <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
break ;
default :
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
break ;
}
# if defined(PRE_ADD_PETALTRADE)
if ( pMarket - > nPetalPrice > 0 )
{
// <20> <> <EFBFBD> ⼭ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Ż <20> <> <EFBFBD> <EFBFBD>
int nTotalPetal = 0 ;
int nRetCode = ERROR_DB ;
if ( pMembershipDB )
nRetCode = pMembershipDB - > QueryAddPetalIncome ( pMarket - > biCharacterDBID , 0 , pMarket - > nPetalPrice , nTotalPetal , true ) ;
if ( nRetCode ! = ERROR_NONE )
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> å<EFBFBD> <C3A5> <EFBFBD> <EFBFBD> ..
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM] AddPetal Fail Petal:%d \r \n " , pMarket - > nAccountDBID , pMarket - > nPetalPrice ) ;
}
# endif
}
}
else
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_BUYTRADEITEM:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
# endif // #if defined(PRE_ADD_DIRECT_BUY_UPGRADEITEM)
}
break ;
case QUERY_GETLISTTRADEFORCALCULATION :
{
TQGetListTradeForCalculation * pMarket = ( TQGetListTradeForCalculation * ) pData ;
TAGetListTradeForCalculation Market ;
memset ( & Market , 0 , sizeof ( TAGetListTradeForCalculation ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryGetListTradeForCalculation ( pMarket , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETLISTTRADEFORCALCULATION:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETLISTTRADEFORCALCULATION:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_GETCOUNTTRADEFORCALCULATION :
{
}
break ;
case QUERY_TRADECALCULATE :
{
TQTradeCalculate * pMarket = ( TQTradeCalculate * ) pData ;
TATradeCalculate Market ;
memset ( & Market , 0 , sizeof ( TATradeCalculate ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
Market . nMarketDBID = pMarket - > nMarketDBID ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB )
{
Market . nRetCode = pWorldDB - > QueryTradeCalculate ( pMarket , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_TRADECALCULATE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
# if defined(PRE_ADD_PETALTRADE)
else
{
if ( Market . cPayMethodCode = = DBDNWorldDef : : PayMethodCode : : Petal )
{
//<2F> <> Ż<EFBFBD> <C5BB> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <20> <> Ż<EFBFBD> <C5BB> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ֱ<EFBFBD> .
Market . nRetCode = ERROR_DB ;
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
int nTotalPetal = 0 ;
if ( pMembershipDB )
Market . nRetCode = pMembershipDB - > QueryAddPetalIncome ( pMarket - > biCharacterDBID , 0 , Market . nCalculatePrice , nTotalPetal , true ) ;
else
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_TRADECALCULATE] MemberShipDB not found \r \n " , pMarket - > nAccountDBID ) ;
}
}
# endif
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_TRADECALCULATE:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_TRADECALCULATEALL :
{
TQTradeCalculateAll * pMarket = ( TQTradeCalculateAll * ) pData ;
TATradeCalculateAll Market ;
memset ( & Market , 0 , sizeof ( TATradeCalculateAll ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryTradeCalculateAll ( pMarket , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_TRADECALCULATEALL:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
# if defined(PRE_ADD_PETALTRADE)
else
{
if ( Market . nCalculatePetal > 0 ) // <20> <> Ż <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
//<2F> <> Ż<EFBFBD> <C5BB> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <20> <> Ż<EFBFBD> <C5BB> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ֱ<EFBFBD> .
Market . nRetCode = ERROR_DB ;
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
int nTotalPetal = 0 ;
if ( pMembershipDB )
Market . nRetCode = pMembershipDB - > QueryAddPetalIncome ( pMarket - > biCharacterDBID , 0 , Market . nCalculatePetal , nTotalPetal , true ) ;
else
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_TRADECALCULATEALL] MemberShipDB not found \r \n " , pMarket - > nAccountDBID ) ;
}
}
# endif
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_TRADECALCULATEALL:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
# if !defined(PRE_ADD_DIRECT_BUY_UPGRADEITEM)
case QUERY_GETTRADEITEMID :
{
TQGetTradeItemID * pMarket = ( TQGetTradeItemID * ) pData ;
TAGetTradeItemID Market ;
memset ( & Market , 0 , sizeof ( TAGetTradeItemID ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nMarketDBID = pMarket - > nMarketDBID ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryGetTradeItemID ( pMarket - > nMarketDBID , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETTRADEITEMID:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETTRADEITEMID:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
# endif // #if !defined(PRE_ADD_DIRECT_BUY_UPGRADEITEM)
# if defined(PRE_ADD_PETALTRADE)
case QUERY_GETPETALBALANCE :
{
TQHeader * pMarket = ( TQHeader * ) pData ;
TAGetPetalBalance Market ;
memset ( & Market , 0 , sizeof ( TAGetPetalBalance ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
if ( pMembershipDB )
Market . nRetCode = pMembershipDB - > QueryGetPetalBalance ( pMarket - > nAccountDBID , Market . nPetalBalance ) ;
else
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETPETALBALANCE] MemberShipDB not found \r \n " , pMarket - > nAccountDBID ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
# endif
case QUERY_GETTRADEPRICE :
{
TQGetTradePrice * pMarket = ( TQGetTradePrice * ) pData ;
TAGetTradePrice Market ;
memset ( & Market , 0 , sizeof ( TAGetTradePrice ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nItemID = pMarket - > nItemID ;
Market . cLevel = pMarket - > cLevel ;
Market . cOption = pMarket - > cOption ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryGetTradePrice ( pMarket , & Market ) ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETTRADEPRICE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETTRADEPRICE:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
}
break ;
case QUERY_GETLISTMINITRADE :
{
# if defined( PRE_ADD_DIRECT_BUY_UPGRADEITEM )
TQGetListMiniTrade * pMarket = ( TQGetListMiniTrade * ) pData ;
TAGetListMiniTrade Market ;
memset ( & Market , 0 , sizeof ( TAGetListMiniTrade ) ) ;
Market . nAccountDBID = pMarket - > nAccountDBID ;
Market . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pMarket - > cWorldSetID ) ;
if ( pWorldDB ) {
Market . nRetCode = pWorldDB - > QueryGetListMiniTrade ( pMarket , & Market ) ;
Market . nMarketTotalCount = Market . cMarketCount ;
if ( Market . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETLISTMINITRADE:%d] Result:%d \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID , Market . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pMarket - > cWorldSetID , pMarket - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETLISTMINITRADE:%d] pWorldDB not found \r \n " , pMarket - > nAccountDBID , pMarket - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Market , sizeof ( Market ) ) ;
# endif
}
break ;
}
}