📄 auction.cpp
字号:
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//俺牢利 芭贰 府胶飘 矫累
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CAuction::RecvCMD_MERCHANT_DIRECT_EXCHANGE_LIST_REQUEST(const int iCn,t_packet &p)
{
SEARCHRESULTLIST FindResult;
memset(&FindResult ,0, sizeof(SEARCHRESULTLIST));
FindResult.iCn = p.u.MerchantExchangeRequest.iCn;
FindResult.iKey = p.u.MerchantExchangeRequest.iKey;//021113 lsw
memcpy(FindResult.szName,p.u.MerchantExchangeRequest.szMyName,20);
char szQuery[1000] ={0,};
if(p.u.MerchantExchangeRequest.iKey)//牢郸胶 困牢啊 酒贰牢啊.
{
sprintf(szQuery,"EXEC MerchantItemSearchDirectExchage '%s', %d, %d, %d, %d",
p.u.MerchantExchangeRequest.szSellerName,
IS_END_ALL_RIGHT,
IS_END_ALL_RIGHT,
IS_END_ALL_RIGHT,
p.u.MerchantExchangeRequest.iIndex);
}
else
{
sprintf(szQuery,"EXEC MerchantItemSearchDirectExchageInverse '%s', %d, %d, %d, %d",
p.u.MerchantExchangeRequest.szSellerName,
IS_END_ALL_RIGHT,
IS_END_ALL_RIGHT,
IS_END_ALL_RIGHT,
p.u.MerchantExchangeRequest.iIndex);
}
if(SearchAuctionItem(&FindResult,szQuery))
{
t_packet rp;
rp.h.header.type = CMD_MERCHANT_DIRECT_EXCHANGE_LIST_REQUSET_RESULT;
rp.h.header.size = sizeof(SEARCHRESULTLIST);
rp.u.SearchResultList= FindResult;
::QueuePacket(connections,iCn,&rp,1);
}
return;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//俺牢利 芭贰 府胶飘 场
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//<! BBD 040226 芭贰啊 辆丰登芭唱 殿废秒家肺 鞘夸绝绰 饭内靛甫 昏力窍绰 扁瓷 眠啊
void CAuction::RecvCMD_MERCHANT_RECORD_DEL_CANCLE(const int iCn,t_packet &p)
{
HSTMT hStmt = NULL;
RETCODE retCode;
SDWORD cbValue;
char szQuery[255] ={0,};
SELLERITEMDELETE *pSID = &p.u.SellerItemDelete;
// 促澜 牢磊甫 概俺函荐肺 窍绰 历厘橇肺矫历甫 惯悼窍咯 瘤款促
// (No, name = 颇绰仇, IsEnd = IS_END_DELETE_COMPLETE)
::SQLAllocStmt(hDBC, &hStmt);
::memset(szQuery, 0L, sizeof(szQuery));
sprintf(szQuery,"EXEC MerchantDelbyCancel %d, '%s' , %d", pSID->iIndex, pSID->szName , IS_END_DELETE_COMPLETE);
retCode = SQLExecDirect(hStmt, (UCHAR *)szQuery, SQL_NTS);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
// 孽府 己傍
// 瘤况柳扒瘤 酒囱瘤俊 蝶扼 瘤况脸栏搁 甘辑滚茄抛 舅妨具 茄促
retCode = SQLFetch(hStmt);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
int count;
retCode = ::SQLGetData(hStmt, 1, SQL_C_LONG, &count, 0, &cbValue);
if(count == 1) // 1俺狼 饭内靛啊 昏力 登菌促
{
// 趣 昏力沁促绊 甘辑滚俊霸 舅妨具 且鳖? 肺弊档 巢扁绊 吭绰单?
// p.h.header.type = CMD_MERCHANT_RECORD_DEL_CANCLE; //饭内靛 昏力沁促绊 舅赴促
// ::QueuePacket(connections,cn,&p,1);
}
else
{
// 秦寸 饭内靛啊 绝促 BBD啊 眠啊窍扁 捞傈何盒俊辑 捞固 巩力啊 惯积沁促
// 魄概秒家窍促啊 唱艾促芭唱 扁鸥殿殿狼 捞蜡肺 力措肺 秒家啊 臼夌促
}
::SQLFreeStmt(hStmt, SQL_DROP);
return;
}
}
else
{
// 捞惑炔篮 孽府 俊矾
MyLog(0,"Query Failed");
::SQLFreeStmt(hStmt, SQL_DROP);
return;
}
}
void CAuction::RecvCMD_MERCHANT_RECORD_DEL_COMPLETE(const int iCn,t_packet &p)
{
HSTMT hStmt = NULL;
RETCODE retCode;
SDWORD cbValue;
char szQuery[255] ={0,};
MERCHANTRESULTTAKE *pMRT = &p.u.MerchantResultTake;
// 促澜 牢磊甫 概俺函荐肺 窍绰 历厘橇肺矫历甫 惯悼窍咯 瘤款促
// (No, name = 颇绰仇捞唱 荤绰仇, IsEnd = IS_END_WAIT_TAKE, SellerTake = IS_END_DELETE_COMPLETE, BuyerTake = IS_END_DELETE_COMPLETE)
if(pMRT->iKey == 100|| pMRT->iKey == 101)
{
::SQLAllocStmt(hDBC, &hStmt);
::memset(szQuery, 0L, sizeof(szQuery));
sprintf(szQuery,"EXEC MerchantDelbyComplete %d, '%s', %d, %d, %d"//牢郸胶,捞抚,
,pMRT->iIndex, pMRT->szMyName, IS_END_WAIT_TAKE, IS_END_DELETE_COMPLETE, IS_END_DELETE_COMPLETE);
retCode = SQLExecDirect(hStmt, (UCHAR *)szQuery, SQL_NTS);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
// 孽府 己傍
retCode = SQLFetch(hStmt);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
int count;
retCode = ::SQLGetData(hStmt, 1, SQL_C_LONG, &count, 0, &cbValue);
if(count == 1) // 1俺狼 饭内靛啊 昏力 登菌促
{
// 趣 昏力沁促绊 甘辑滚俊霸 舅妨具 且鳖? 肺弊档 巢扁绊 吭绰单?
// p.h.header.type = CMD_MERCHANT_RECORD_DEL_COMPLETE; //饭内靛 昏力沁促绊 舅赴促
// ::QueuePacket(connections,cn,&p,1);
}
else
{
// 秦寸 饭内靛啊 绝促
// 酒流 瘤快扁俊绰 炼扒捞 面盒摹 给窍促
}
::SQLFreeStmt(hStmt, SQL_DROP);
return;
}
else
{
// 捞惑炔篮 孽府 俊矾
MyLog(0,"Query Failed");
::SQLFreeStmt(hStmt, SQL_DROP);
return;
}
}
else
{
// 捞惑炔篮 孽府 俊矾
MyLog(0,"Query Failed");
::SQLFreeStmt(hStmt, SQL_DROP);
return;
}
}
}
//> BBD 040226 芭贰啊 辆丰登芭唱 殿废秒家肺 鞘夸绝绰 饭内靛甫 昏力窍绰 扁瓷 眠啊
//<! BBD 040303 归诀抛捞喉狼 酒捞袍 府胶飘 夸没
void CAuction::RecvCMD_MERCHANT_BACKUP_LIST_REQUEST(const int iCn,t_packet &p)
{
short int server_id = p.u.kein.send_db_direct_map.server_id;
SELLERITEMREQUEST *pData = (SELLERITEMREQUEST*)p.u.kein.send_db_direct_map.data;
SEARCHRESULTLIST FindResult;
memset(&FindResult ,0, sizeof(SEARCHRESULTLIST));
FindResult.iCn = pData->iCn;
FindResult.iKey =pData->iKey;
memcpy(FindResult.szName,pData->szName,20);
char szQuery[255] ={0,};
if(FindResult.iKey)
{
sprintf(szQuery,"Exec MerchantBackupListSearch %d, %s", FindResult.iKey, FindResult.szName);
}
else
{
// sprintf(szQuery,"EXEC MerchantResultItemSearchInverse %d,'%s',%d",
// p.u.SellerItemRequest.iIndex, szName,IS_END_WAIT_TAKE);//捞抚苞 IsEnd 绰 0 牢巴阑 啊廉可聪促.
}
if(SearchAuctionItem(&FindResult,szQuery))
{
DirectClient( CMD_MERCHANT_BACKUP_LIST_RESPONSE, server_id, iCn, &FindResult, sizeof( SEARCHRESULTLIST ) );
}
}
//> BBD 040303 归诀抛捞喉狼 酒捞袍 府胶飘 夸没
//<! BBD 040303 归诀抛捞喉狼 酒捞袍 瘤鞭 夸没
void CAuction::RecvCMD_MERCHANT_BACKUP_TAKE_REQUEST(const int iCn,t_packet &p)
{
short int server_id = p.u.kein.send_db_direct_map.server_id;
t_MerchantResultTake *pData = (t_MerchantResultTake*)p.u.kein.send_db_direct_map.data;
MERCHANTRESULTTAKE *pMRT = &p.u.MerchantResultTake;
char szQuery[255] ={0,};
sprintf(szQuery,"Exec MerchantBackupByNoName %d, %s", pData->iIndex, pData->szMyName);
SEARCHRESULTLIST FindResult;
memset(&FindResult, 0L, sizeof(FindResult));
if(!SearchAuctionItem(&FindResult,szQuery)) // 罐篮 沥焊吝 index逞滚客 捞抚俊 狼粮窍咯 八祸茄第
{
MyLog(0,"This Query Failed : %s", szQuery); // 捞惑炔篮 孽府 俊矾
return; // 孽府 角菩促
}
SEARCHRESULT * pRecord = &(FindResult.ResultList[0]);
// 殿废秒家啊瓷档 酒聪绊 拱扒茫扁 措扁惑怕档 酒聪扼搁
if(pRecord->iIsEnd != IS_END_ALL_RIGHT && pRecord->iIsEnd != IS_END_WAIT_TAKE)
{
return; // 捞繁仇捞 绢纳 咯鳖瘤 吭唱?
}
pMRT->iKey = pRecord->iIsEnd; // 捞锭绰 iKey甫 IsEnd侩档肺 静磊
memset(szQuery, 0L, sizeof(szQuery));
if(strcmp(pData->szMyName, pRecord->szSellerName)) // 捞抚栏肺 buyer牢磊 seller牢瘤 备盒窍绊
{ // Buyer焙...
if(pRecord->iBuyerTake != IS_END_ALL_RIGHT)
{
return; // 静国 冈备 肚 媚冈栏妨备?
}
sprintf(szQuery, "Exec MerchantBackupTakeUpdate %d, 1, %d", pRecord->iIndex, IS_END_GIVIING);
}
else
{ // Seller焙...
if(pRecord->iSellerTake != IS_END_ALL_RIGHT)
{
return; // 静国 冈备 肚 媚冈栏妨备?
}
sprintf(szQuery, "Exec MerchantBackupTakeUpdate %d, 0, %d", pRecord->iIndex, IS_END_GIVIING);
}
// 鞘靛甫 诀单捞飘 矫难初磊 ...Take 鞘靛俊 IS_END_GIVIING肺 捞仇捞 瘤鞭吝捞扼绰 钎矫 悸泼饶
{
HSTMT hStmt = NULL;
RETCODE retCode;
::SQLAllocStmt(hDBC, &hStmt);
retCode = SQLExecDirect(hStmt, (UCHAR *)szQuery, SQL_NTS);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
}
else
{
MyLog(0,"This Query Failed : %s", szQuery); // 捞惑炔篮 孽府 俊矾
}
::SQLFreeStmt(hStmt, SQL_DROP);
}
// 单捞鸥 悸泼饶
pMRT->dwSellValue = pRecord->iSellValue;
pMRT->iBuyerTake = pRecord->iBuyerTake;
pMRT->iCn = pData->iCn;
pMRT->iIndex = pRecord->iIndex;
pMRT->iSellerTake = pRecord->iSellerTake;
memcpy(&pMRT->SellItem, &pRecord->m_ResultItem, sizeof(ItemAttr));
memcpy(pMRT->szBuyerName , pRecord->szBuyerName, sizeof(pMRT->szBuyerName));
memcpy(pMRT->szMyName , pData->szMyName, sizeof(pMRT->szMyName));
memcpy(pMRT->szSellerName , pRecord->szSellerName, sizeof(pMRT->szMyName));
// 甘辑滚肺 瘤鞭窍扼绊 舅赴促
p.h.header.type = CMD_MERCHANT_BACKUP_TAKE_REQUEST;
p.h.header.size = sizeof(MERCHANTRESULTTAKE); // BBD 040308
::QueuePacket(connections,iCn,&p,1);
}
void CAuction::RecvCMD_MERCHANT_BACKUP_TAKE_RESPONSE(const int iCn,t_packet &p)
{
MERCHANTRESULTTAKE *pMRT = &p.u.MerchantResultTake;
char szQuery[255] ={0,};
switch(pMRT->iKey)
{
case 101://魄概磊 瘤鞭 己傍
{
sprintf(szQuery, "Exec MerchantBackupTakeUpdate %d, 0, %d", pMRT->iIndex, IS_END_DELETE_COMPLETE);
}break;
case 100://备概磊 瘤鞭 己傍
{
sprintf(szQuery, "Exec MerchantBackupTakeUpdate %d, 1, %d", pMRT->iIndex, IS_END_DELETE_COMPLETE);
}break;
case 11://魄概磊 瘤鞭 角菩
{
sprintf(szQuery, "Exec MerchantBackupTakeUpdate %d, 0, %d", pMRT->iIndex, IS_END_ALL_RIGHT);
}break;
case 10://备概磊 瘤鞭 角菩
{
sprintf(szQuery, "Exec MerchantBackupTakeUpdate %d, 1, %d", pMRT->iIndex, IS_END_ALL_RIGHT);
}break;
default:
{
}break;
}
// 绢骂登菌扒 孽府绰 角青窍绊
HSTMT hStmt = NULL;
RETCODE retCode;
::SQLAllocStmt(hDBC, &hStmt);
retCode = SQLExecDirect(hStmt, (UCHAR *)szQuery, SQL_NTS);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
}
else
{
MyLog(0,"This Query Failed : %s", szQuery); // 捞惑炔篮 孽府 俊矾
}
::SQLFreeStmt(hStmt, SQL_DROP);
if(pMRT->iKey >= 100) // 捞仇甸篮 己傍茄仇甸 饭内靛犬牢捞 鞘夸窍促
{
// 捞 饭内靛啊 瘤匡荐 乐绰瘤 犬牢茄促
MerchantBackup_Check_and_Delete(pMRT->iIndex);
}
// 努扼捞攫飘俊霸 府胶飘 促矫焊霸 朝府绊
SELLERITEMREQUEST data;
data.iCn = pMRT->iCn;
strcpy(data.szName, pMRT->szMyName);
data.iIndex = 0;
data.iKey = 1;
p.u.kein.send_db_direct_map.server_id = pMRT->iCn;
memcpy(&(p.u.kein.send_db_direct_map.data), &data, sizeof(SELLERITEMREQUEST));
RecvCMD_MERCHANT_BACKUP_LIST_REQUEST(iCn, p);
}
void CAuction::MerchantBackup_Check_and_Delete(int iIndex)
{
HSTMT hStmt = NULL;
RETCODE retCode;
char szQuery[255] ={0,};
sprintf(szQuery, "MerchantBackupRecordDelete %d", iIndex);
::SQLAllocStmt(hDBC, &hStmt);
retCode = SQLExecDirect(hStmt, (UCHAR *)szQuery, SQL_NTS);
if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
{
}
else
{
MyLog(0,"This Query Failed : %s", szQuery); // 捞惑炔篮 孽府 俊矾
}
::SQLFreeStmt(hStmt, SQL_DROP);
}
//> BBD 040303 归诀抛捞喉狼 酒捞袍 瘤鞭 夸没
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -