|
- #include "StdAfx.h"
- #include "ServiceUnits.h"
- #include "DataBaseEngineSink.h"
- #include "GameServer.h"
- #include "GameServerDlg.h"
- #include "Shop.h"
- //////////////////////////////////////////////////////////////////////////////////
-
- //构造函数
- CDataBaseEngineSink::CDataBaseEngineSink()
- {
- //配置变量
- m_pGameParameter = NULL;
- m_pInitParameter = NULL;
- m_pDataBaseParameter = NULL;
- m_pGameServiceAttrib = NULL;
- m_pGameServiceOption = NULL;
-
- //组件变量
- m_pIDataBaseEngine = NULL;
- m_pIGameServiceManager = NULL;
- m_pIDataBaseEngineEvent = NULL;
- m_pIGameDataBaseEngineSink = NULL;
- m_pIDBCorrespondManager = NULL;
-
- //辅助变量
- ZeroMemory(&m_LogonFailure, sizeof(m_LogonFailure));
- ZeroMemory(&m_LogonSuccess, sizeof(m_LogonSuccess));
-
- return;
- }
-
- //析构函数
- CDataBaseEngineSink::~CDataBaseEngineSink()
- {
- //释放对象
- SafeRelease(m_pIGameDataBaseEngineSink);
-
- return;
- }
-
- //接口查询
- VOID * CDataBaseEngineSink::QueryInterface(REFGUID Guid, DWORD dwQueryVer)
- {
- QUERYINTERFACE(IDataBaseEngineSink, Guid, dwQueryVer);
- QUERYINTERFACE(IGameDataBaseEngine, Guid, dwQueryVer);
- QUERYINTERFACE_IUNKNOWNEX(IDataBaseEngineSink, Guid, dwQueryVer);
- return NULL;
- }
-
- //获取对象
- VOID * CDataBaseEngineSink::GetDataBase(REFGUID Guid, DWORD dwQueryVer)
- {
- //效验状态
- ASSERT(m_GameDBModule.GetInterface() != NULL);
- if (m_GameDBModule.GetInterface() == NULL) return NULL;
-
- //查询对象
- IDataBase * pIDataBase = m_GameDBModule.GetInterface();
- VOID * pIQueryObject = pIDataBase->QueryInterface(Guid, dwQueryVer);
-
- return pIQueryObject;
- }
-
- //获取对象
- VOID * CDataBaseEngineSink::GetDataBaseEngine(REFGUID Guid, DWORD dwQueryVer)
- {
- //效验状态
- ASSERT(m_pIDataBaseEngine != NULL);
- if (m_pIDataBaseEngine == NULL) return NULL;
-
- //查询对象
- VOID * pIQueryObject = m_pIDataBaseEngine->QueryInterface(Guid, dwQueryVer);
-
- return pIQueryObject;
- }
-
- // 更新服务器通道状态
- bool CDataBaseEngineSink::OnRequestOnLineService(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- IPLIST* pIPLIST = (IPLIST*)pData;
- CGameServerDlg *pCLogonServerDlg = (CGameServerDlg *)theApp.m_pMainWnd;
- CServerListManager *pCServerListManager = &(pCLogonServerDlg->m_ServiceUnits.m_AttemperEngineSink.m_ServerListManager);
- CList<LianLu> ListLL;
-
- for (int i = 0; i < 64; i++)
- {
- std::wstring strTemp = pIPLIST->ST_LIST[i];
- if (strTemp == _T("")) continue;
-
- CTimer Start;
- try
- {
- //构造参数
- m_PlatformDBAide.ResetParameter();
- m_PlatformDBAide.AddParameter(TEXT("@strIP"), strTemp.c_str());
- m_PlatformDBAide.AddParameter(TEXT("@strErrorDescribe"), _T(""));
-
- //执行查询
- LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_MB_IP"), true);
-
- //写入记录
- if (lResultCode == DB_SUCCESS)
- {
- ListLL.RemoveAll();
- //节点
- while (m_PlatformDBModule->IsRecordsetEnd() == false)
- {
- INT ZhuangTai = m_PlatformDBAide.GetValue_INT(TEXT("ZhuangTai"));
- TCHAR szIP[32];
- ZeroMemory(szIP, sizeof(TCHAR) * 32);
-
- m_PlatformDBAide.GetValue_String(TEXT("MoreIp"), szIP, 32);
-
- SYSTEMTIME SystemTimeConclude;
- m_PlatformDBAide.GetValue_SystemTime(TEXT("LastAddTime"), SystemTimeConclude);
-
- //pGameServerItem->SetLLStat(szIP, ZhuangTai, SystemTimeConclude);
-
- LianLu myTemp;
- ZeroMemory(&myTemp, sizeof(LianLu));
- myTemp.iIsOk = ZhuangTai;
- myTemp.SystemTimeConclude = SystemTimeConclude;
- StringCchCat(myTemp.szIP, 32, szIP);
-
- ListLL.AddTail(myTemp);
-
- //移动记录
- m_PlatformDBModule->MoveToNext();
- }
-
- LianLuGroup Buffer;
- ZeroMemory(&Buffer, sizeof(LianLuGroup));
-
- StringCchCat(Buffer.szAdminIP, 32, strTemp.c_str());
- POSITION Pos = ListLL.GetHeadPosition();
- int j = 0;
- while (Pos)
- {
- LianLu wRet = ListLL.GetNext(Pos);
- Buffer.Data[j] = wRet;
- j++;
- if (j > (MAX_TONGDAO-1)) break;
- }
- ListLL.RemoveAll();
-
- //通知网络线程更新数据
- (pCLogonServerDlg->m_ServiceUnits.m_AttemperEngineSink.GetTCPNetworkEngine())->OnTBDataEvent(DBO_GR_UPTONGDAOACK, 0, &Buffer, sizeof(LianLuGroup));
- }
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_MB_IP ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return TRUE;
- }
-
- //投递结果
- bool CDataBaseEngineSink::PostGameDataBaseResult(WORD wRequestID, VOID * pData, WORD wDataSize)
- {
- return true;
- }
-
- //启动事件
- bool CDataBaseEngineSink::OnDataBaseEngineStart(IUnknownEx * pIUnknownEx)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnDataBaseEngineStart"), TraceLevel_Debug);
- //查询对象
- ASSERT(QUERY_OBJECT_PTR_INTERFACE(pIUnknownEx, IDataBaseEngine) != NULL);
- m_pIDataBaseEngine = QUERY_OBJECT_PTR_INTERFACE(pIUnknownEx, IDataBaseEngine);
-
- //创建对象
- if ((m_GameDBModule.GetInterface() == NULL) && (m_GameDBModule.CreateInstance() == false))
- {
- ASSERT(FALSE);
- return false;
- }
-
- //创建对象
- if ((m_TreasureDBModule.GetInterface() == NULL) && (m_TreasureDBModule.CreateInstance() == false))
- {
- ASSERT(FALSE);
- return false;
- }
-
- //创建对象
- if ((m_PlatformDBModule.GetInterface() == NULL) && (m_PlatformDBModule.CreateInstance() == false))
- {
- ASSERT(FALSE);
- return false;
- }
-
- //连接游戏
- try
- {
- //连接信息
- tagDataBaseParameter * pTreasureDBParameter = &m_pInitParameter->m_TreasureDBParameter;
- tagDataBaseParameter * pPlatformDBParameter = &m_pInitParameter->m_PlatformDBParameter;
-
- //设置连接
- m_GameDBModule->SetConnectionInfo(m_pDataBaseParameter->szDataBaseAddr, m_pDataBaseParameter->wDataBasePort,
- m_pDataBaseParameter->szDataBaseName, m_pDataBaseParameter->szDataBaseUser, m_pDataBaseParameter->szDataBasePass);
-
- //设置连接
- m_TreasureDBModule->SetConnectionInfo(pTreasureDBParameter->szDataBaseAddr, pTreasureDBParameter->wDataBasePort,
- pTreasureDBParameter->szDataBaseName, pTreasureDBParameter->szDataBaseUser, pTreasureDBParameter->szDataBasePass);
-
- //设置连接
- m_PlatformDBModule->SetConnectionInfo(pPlatformDBParameter->szDataBaseAddr, pPlatformDBParameter->wDataBasePort,
- pPlatformDBParameter->szDataBaseName, pPlatformDBParameter->szDataBaseUser, pPlatformDBParameter->szDataBasePass);
-
- //发起连接
- m_GameDBModule->OpenConnection();
- m_GameDBAide.SetDataBase(m_GameDBModule.GetInterface());
-
- //发起连接
- m_TreasureDBModule->OpenConnection();
- m_TreasureDBAide.SetDataBase(m_TreasureDBModule.GetInterface());
-
- //发起连接
- m_PlatformDBModule->OpenConnection();
- m_PlatformDBAide.SetDataBase(m_PlatformDBModule.GetInterface());
-
- //数据钩子
- ASSERT(m_pIGameServiceManager != NULL);
- m_pIGameDataBaseEngineSink = (IGameDataBaseEngineSink *)m_pIGameServiceManager->CreateGameDataBaseEngineSink(IID_IGameDataBaseEngineSink, VER_IGameDataBaseEngineSink);
-
- //配置对象
- if ((m_pIGameDataBaseEngineSink != NULL) && (m_pIGameDataBaseEngineSink->InitializeSink(QUERY_ME_INTERFACE(IUnknownEx)) == false))
- {
- //错误断言
- ASSERT(FALSE);
-
- //输出信息
- CTraceService::TraceString(TEXT("游戏数据库扩展钩子引擎对象配置失败"), TraceLevel_Exception);
-
- return false;
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //错误信息
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- return false;
- }
-
- return true;
- }
-
- //停止事件
- bool CDataBaseEngineSink::OnDataBaseEngineConclude(IUnknownEx * pIUnknownEx)
- {
- //解锁机器
- //UnLockAndroidUser();
-
- //配置变量
- m_pInitParameter = NULL;
- m_pGameServiceAttrib = NULL;
- m_pGameServiceOption = NULL;
-
- //组件变量
- m_pIGameServiceManager = NULL;
- m_pIDataBaseEngineEvent = NULL;
-
- //设置对象
- m_GameDBAide.SetDataBase(NULL);
-
- //释放对象
- SafeRelease(m_pIGameDataBaseEngineSink);
-
- //关闭连接
- if (m_GameDBModule.GetInterface() != NULL)
- {
- m_GameDBModule->CloseConnection();
- m_GameDBModule.CloseInstance();
- }
-
- //关闭连接
- if (m_TreasureDBModule.GetInterface() != NULL)
- {
- m_TreasureDBModule->CloseConnection();
- m_TreasureDBModule.CloseInstance();
- }
-
- //关闭连接
- if (m_PlatformDBModule.GetInterface() != NULL)
- {
- m_PlatformDBModule->CloseConnection();
- m_PlatformDBModule.CloseInstance();
- }
-
- return true;
- }
-
- //时间事件
- bool CDataBaseEngineSink::OnDataBaseEngineTimer(DWORD dwTimerID, WPARAM dwBindParameter)
- {
- return false;
- }
-
- //控制事件
- bool CDataBaseEngineSink::OnDataBaseEngineControl(WORD wControlID, VOID * pData, WORD wDataSize)
- {
- return false;
- }
-
- //请求事件
- bool CDataBaseEngineSink::OnDataBaseEngineRequest(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- //变量定义
- bool bSucceed = false;
- DWORD dwUserID = 0L;
-
- DWORD dValue = 0;
- if (!m_JiShu.Lookup(wRequestID, dValue))
- {
- m_JiShu.SetAt(wRequestID, dValue);
- }
-
- try
- {
- //请求处理
- switch (wRequestID)
- {
- case SUB_GR_USER_SHRAE_INFO: //分享奖励钻石
- {
- bSucceed = OnRequestShareInfo(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_SHRAE_AWARD_BEAN: //分享奖励钻石
- {
- bSucceed = OnRequestShareAwardBean(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_CHECK_NAME:
- {
- bSucceed = onRequestCheckName(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_CHECK_NAME_QUERY:
- {
- bSucceed = onRequestCheckNameQuery(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_GET_VERIF_CODE://手机重复绑定查询
- {
- bSucceed = onRequestGetVerifCode(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_CHECK_IPHONE_QUERY://手机绑定查询,闲聊
- {
- bSucceed = onRequestCheckIphoneQuery(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_CHECK_IPHONE://手机绑定
- {
- bSucceed = onRequestCheckIphone(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_CHECK_XIANLIAO://闲聊绑定
- {
- bSucceed = onRequestCheckXianLiao(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_GET_BEAN:
- {
- bSucceed = OnRequestGetBean(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case DBR_GR_LOGON_MOBILE: //手机登录
- {
- bSucceed = OnRequestLogonMobile(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case DBR_GR_WRITE_GAME_SCORE: //游戏写分
- {
- bSucceed = OnRequestWriteGameScore(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST: //获取临时积分排行榜
- {
- bSucceed = OnRequestGetGameTempScoreRecordRankList(dwContextID, pData, wDataSize, dwUserID);
- }break;
- case DBR_GR_WRITE_GAME_TEMPORARY_SCORE://记录临时积分
- {
- bSucceed = OnRequestWriteGameTempScoreRecord(dwContextID, pData, wDataSize, dwUserID);
- }break;
- case DBR_GR_LEAVE_GAME_SERVER: //离开房间
- {
- bSucceed = OnRequestLeaveGameServer(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case DBR_GR_GAME_SCORE_RECORD: //游戏记录
- {
- bSucceed = OnRequestGameScoreRecord(dwContextID, pData, wDataSize, dwUserID);
- }break;
- case DBR_GR_GET_GAME_SCORE_RECORD_LIST:
- {
- bSucceed = OnRequestGetUserGameScoreRecords(dwContextID, pData, wDataSize, dwUserID);
- }break;
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY:
- {
- bSucceed = OnRequestGetUserGameReplayRecord(dwContextID, pData, wDataSize, dwUserID);
- }break;
- case DBR_GR_LOAD_PARAMETER: //加载参数
- {
- bSucceed = OnRequestLoadParameter(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- //case DBR_GR_LOAD_GAME_COLUMN: //加载列表
- //{
- // bSucceed = true;// OnRequestLoadGameColumn(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_LOAD_ANDROID_PARAMETER: //加载配置
- //{
- // bSucceed = true;//OnRequestLoadAndroidParameter(dwContextID, pData, wDataSize, dwUserID);
- //}
- break;
- //case DBR_GR_LOAD_ANDROID_USER: //加载机器
- //{
- // bSucceed = true;//OnRequestLoadAndroidUser(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- case DBR_GP_ONLINE_SERVICE: //加载通道
- {
- return OnRequestOnLineService(dwContextID, pData, wDataSize);
- }
- break;
- //case DBR_GR_LOAD_GAME_PROPERTY: //加载道具
- //{
- // bSucceed = OnRequestLoadGameProperty(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- case DBR_GR_USER_CHECK_BEANS: //直接扣除元宝
- {
- bSucceed = OnRequestUserCheckBeans(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case DBR_GR_USER_REDUCE_BEANS: //消耗元宝
- {
- bSucceed = OnRequestUserReduceBeans(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case DBR_GR_USER_LUCK_BEANS: //冻结元宝
- {
- bSucceed = OnRequestUserLockBeans(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- case DBR_GR_USER_UNLUCK_BEANS: //解冻元宝
- {
- bSucceed = OnRequestUserUnLockBeans(dwContextID, pData, wDataSize, dwUserID);
- }
- break;
- //case DBR_GR_USER_ENABLE_INSURE: //开通银行
- //{
- // bSucceed = OnRequestUserEnableInsure(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_USER_SAVE_SCORE: //存入游戏币
- //{
- // bSucceed = OnRequestUserSaveScore(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_USER_TAKE_SCORE: //提取游戏币
- //{
- // bSucceed = OnRequestUserTakeScore(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_USER_TRANSFER_SCORE: //转帐游戏币
- //{
- // bSucceed = OnRequestUserTransferScore(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_QUERY_INSURE_INFO: //查询银行
- //{
- // bSucceed = OnRequestQueryInsureInfo(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_QUERY_TRANSFER_USER_INFO: //查询用户
- //{
- // bSucceed = OnRequestQueryTransferUserInfo(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_PROPERTY_REQUEST: //道具请求
- //{
- // bSucceed = OnRequestPropertyRequest(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MANAGE_USER_RIGHT: //用户权限
- //{
- // bSucceed = OnRequestManageUserRight(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_LOAD_SYSTEM_MESSAGE: //系统消息
- //{
- // bSucceed = OnRequestLoadSystemMessage(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_LOAD_SENSITIVE_WORDS://加载敏感词
- //{
- // return OnRequestLoadSensitiveWords(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MATCH_SIGNUP: //比赛费用
- //{
- // bSucceed = OnRequestMatchSignup(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MATCH_UNSIGNUP: //退出比赛
- //{
- // bSucceed = OnRequestMatchUnSignup(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MATCH_START: //比赛开始
- //{
- // bSucceed = OnRequestMatchStart(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MATCH_ELIMINATE: //比赛淘汰
- //{
- // bSucceed = OnRequestMatchEliminate(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MATCH_OVER: //比赛结束
- //{
- // bSucceed = OnRequestMatchOver(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_MATCH_REWARD: //比赛奖励
- //{
- // bSucceed = OnRequestMatchReward(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_TASK_LOAD_LIST: //加载任务
- //{
- // bSucceed = OnRequestLoadTaskList(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_TASK_QUERY_INFO: //查询任务
- //{
- // bSucceed = OnRequestTaskQueryInfo(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_TASK_TAKE: //领取任务
- //{
- // bSucceed = OnRequestTaskTake(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_TASK_REWARD: //领取奖励
- //{
- // bSucceed = OnRequestTaskReward(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_LOAD_MEMBER_PARAMETER: //会员参数
- //{
- // bSucceed = OnRequestLoadMemberParameter(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_PURCHASE_MEMBER: //购买会员
- //{
- // bSucceed = OnRequestPurchaseMember(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBR_GR_EXCHANGE_SCORE: //兑换游戏币
- //{
- // bSucceed = OnRequestExchangeScore(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
-
-
- //case DBO_GP_EXCHANGE_CONFIG_LIST: //钻石兑换金币的商品列表
- //{
- // bSucceed = OnRequestExchangeConfigs(dwContextID, pData, wDataSize, dwUserID);
- //}
- // break;
- //case DBO_GR_TOP_WIN_LIST: ///+++胜局榜
- //{
- // bSucceed = OnRequestTopWinList(dwContextID, pData, wDataSize);
- // break;
- //}
- //case DBR_GP_RELIEF_INFO: ///+++查询破产信息
- //{
- // bSucceed = OnRequestReliefInfo(dwContextID, pData, wDataSize);
- // break;
- //}
- //case DBR_GP_GET_RELIEF: ///+++领取破产
- //{
- // bSucceed = OnRequestGetRelief(dwContextID, pData, wDataSize);
- // break;
- //}
- case DBR_GP_LOAD_CHECKIN_REWARD: //签到奖励
- {
- bSucceed = OnRequestCheckInReward(dwContextID, pData, wDataSize);
- break;
- }
-
- case DBR_GP_CHECKIN_QUERY_INFO: //查询签到
- {
- bSucceed = OnRequestCheckInQueryInfo(dwContextID, pData, wDataSize);
- break;
- }
-
- case DBR_GP_CHECKIN_DONE: //执行签到
- {
- bSucceed = OnRequestCheckInDone(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_WELFARE_INFO: //福利信息
- {
- bSucceed = OnQueryWelfareInfo(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GR_CLUB_GET_LIST: //获取俱乐部列表
- {
- bSucceed = OnRequestGetClubList(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_USER: //获取俱乐部会员
- {
- bSucceed = OnRequestGetClubUser(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_USER_EX: //获取俱乐部会员
- {
- bSucceed = OnRequestGetClubUserEx(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_USER_ONLINE: //获取俱乐部会员
- {
- bSucceed = OnRequestGetClubUserOnline(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_MESSAGE: //获取俱乐部消息
- {
- bSucceed = OnRequestGetClubMessage(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_RECORD: //获取俱乐部记录
- {
- bSucceed = OnRequestGetClubRecord(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_RECORD_EX: //获取俱乐部记录
- {
- bSucceed = OnRequestGetClubRecordEX(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_XIANLIAO_RECORD://分享战绩到闲聊群
- {
- bSucceed = OnRequestFenXiangClubRecord(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_WRITE_RECORD: //获取俱乐部记录
- {
- bSucceed = OnRequestWriteClubRecord(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_CREATE: //创建俱乐部
- {
- bSucceed = OnRequestCreateClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_UPDATE: //修改俱乐部
- {
- bSucceed = OnRequestUpdateClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_DELETE: //删除俱乐部
- {
- bSucceed = OnRequestDeleteClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET: //查看俱乐部
- {
- bSucceed = OnRequestGetClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_JOIN: //加入俱乐部
- {
- bSucceed = OnRequestJoinClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_QUIT: //退出俱乐部
- {
- bSucceed = OnRequestQuitClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_ISAGREE: //同意俱乐部
- {
- bSucceed = OnRequestAgreeClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- //case DBR_GR_CLUB_GET_ONLINE: //获取俱乐部在线信息
- //{
- // bSucceed = OnRequestGetClubOnLine(dwContextID, pData, wDataSize, dwUserID);
- // break;
- //}
- case DBR_GR_CLUB_GET_ONLINEEX: //获取俱乐部在线信息
- {
- bSucceed = OnRequestGetClubOnLineEx(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
-
- case DBR_GR_CLUB_GET_USER2: //获取俱乐部会员黑名单
- {
- bSucceed = OnRequestGetClubBlackUser(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_PROTOCOL: //获取俱乐部协议
- {
- bSucceed = OnRequestGetClubProtocol(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_PROTOCOLAGREE: //同意俱乐部协议
- {
- bSucceed = OnRequestGetClubProtocolAgree(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_HOSTINFO: //查询群主信息
- {
- bSucceed = OnRequestGetClubHostInfo(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_NOTICE: //俱乐部公告
- {
- bSucceed = OnRequestGetClubNotice(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_NotifyUser: //俱乐部广播
- {
- bSucceed = OnRequestNotifyAlluser(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GP_MY_ROULETTE_INFO: ///+++我的转盘信息
- {
- bSucceed = OnRequestRouletteConfig_new(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GP_ROULETTE_LOTTERY: ///+++转盘抽奖
- {
- bSucceed = OnRecordRouletteLottery(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GP_GET_ROULETTE_CONFIG/*DBR_GP_LOAD_ROULETTE_CONFIG*/: //加载轮盘奖品配置信息
- {
- bSucceed = OnRequestRouletteConfig(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GP_LOTTERY_INFO: //查询抽奖信息
- {
- bSucceed = OnQueryLotteryInfo(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_LOTTERY_HIS: //查询抽奖历史
- {
- bSucceed = OnQueryLotteryHis(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_LOTTERY_HIS_EX:
- {
- bSucceed = OnQueryLotteryHisEx(dwContextID, pData, wDataSize);
- break;
- }
- case DBO_GR_TASK_SAOMA: //扫码绑定更新绑定代理id和送8个钻
- {
- bSucceed = OnRequestSetAgentBangDing(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_GET_UNTIE_AGENT_INFO: //用户获得代理解绑相关信息
- {
- bSucceed = OnRequestGetUntieAgentInfo(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_GET_ZUANSHI_INFO: //用户获得解绑所需钻石数目
- {
- bSucceed = OnRequestGetUntieAgentCost(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GR_CLUB_DISSOLVEROOM: //群主解散俱乐部房间
- {
- bSucceed = OnRequestClubDissolveRoom(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GP_LOTTERY_FLAG: //更新奖品发放标志
- {
- bSucceed = OnUpdateLotteryFlag(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_LOTTERY_AWARD: //手动领奖
- {
- bSucceed = OnLotteryAward(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GP_LOTTERY_ADDRESS: //注册收件信息
- {
- bSucceed = OnLotteryAddress(dwContextID, pData, wDataSize);
- break;
- }
- case DBR_GR_CLUB_SAVE_MORE_WANFA: //额外玩法
- {
- bSucceed = OnRequestUpdateAddClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_MORE_WANFA: //查看俱乐部 额外玩法
- {
- bSucceed = OnRequestGetAddClub(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_COUNT_EXPLOITS:
- {
- bSucceed = OnRequestGetClubExploits(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_COUNT_PLAYGAEMS: //俱乐部统计对局数
- {
- bSucceed = OnRequestGetClubPlaygames(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_COUNT_INTEGRAL: //俱乐部统计积分数
- {
- bSucceed = OnRequestGetClubIntegral(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GR_CLUB_GET_MAKEA_SAMPLE: //俱乐部打样
- {
- bSucceed = OnRequestGetClubSample(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case SUB_GP_WENLIN_SHUFFLE: //洗牌动画
- {
- bSucceed = OnWlShuffleGameHandleDB(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- case DBR_GP_DEDUCT_ZUANSHI_INFO: //洗牌动画 扣钻
- {
- bSucceed = OnWlShuffleGameDeductHandleDB(dwContextID, pData, wDataSize, dwUserID);
- break;
- }
- }
- }
- catch (const std::exception&)
- {
-
- }
-
- if (!bSucceed)
- {
- if (dValue > 3)
- {
- bSucceed = true;
- m_JiShu.SetAt(wRequestID, 0);
- }
- else
- {
- dValue++;
- m_JiShu.SetAt(wRequestID, dValue);
- }
- }
-
- //协调通知
- if (m_pIDBCorrespondManager) m_pIDBCorrespondManager->OnPostRequestComplete(dwUserID,true/* bSucceed*/);
-
- return bSucceed;
- }
-
- //查询元宝
- bool CDataBaseEngineSink::OnRequestGetBean(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetBean"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DWORD *pUserID = (DWORD *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
-
- //获取当前时间
- m_GameDBAide.AddParameter(TEXT("dwUserID"), *pUserID);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127* sizeof(TCHAR));
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LookBeans"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- DBR_GR_GetBearn Ret;
- ZeroMemory(&Ret, sizeof(DBR_GR_GetBearn));
- Ret.dwUserID = *pUserID;
- Ret.dwSocket = dwContextID;
-
- if (lResultCode == DB_SUCCESS)
- {
- Ret.lResultCode = 1;
- Ret.Currency = m_GameDBAide.GetValue_DWORD(_T("CurrBeans"));
- Ret.LeiJiZuanShi = m_GameDBAide.GetValue_DWORD(_T("LeiJiZuanShi"));
- Ret.GouMaiZuanShi = m_GameDBAide.GetValue_DWORD(_T("GouMaiZuanShi"));
- }
- else
- {
- Ret.lResultCode = 0;
- _sntprintf(Ret.strErrorDescribe, 127, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
- }
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_GET_BEAN_RESULT, dwContextID, &Ret, sizeof(DBR_GR_GetBearn));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LookBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LookBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LookBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LookBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
-
- //实名认证
- bool CDataBaseEngineSink::onRequestCheckName(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::onRequestCheckName"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- CHECKNAMEINFO *pUserID = (CHECKNAMEINFO *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
-
- //输入参数
- m_GameDBAide.AddParameter(TEXT("dwUserID"), pUserID->dUserID);
- m_GameDBAide.AddParameter(TEXT("dwUserName"), pUserID->nameInfo.Name);
- m_GameDBAide.AddParameter(TEXT("dwUserCard"), pUserID->nameInfo.IDCard);
- m_GameDBAide.AddParameter(TEXT("dwUserPhoneNum"), pUserID->nameInfo.PhoneNum);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_CheckName"), true);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckName ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckName ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
-
- //实名认证查询
- bool CDataBaseEngineSink::onRequestCheckNameQuery(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::onRequestCheckNameQuery"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DWORD *pUserID = (DWORD *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- //输入参数
- m_GameDBAide.AddParameter(TEXT("dwUserID"), *pUserID);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_CheckName_Query"), true);
-
- //结果处理
- DBR_GR_GetCheckName Ret;
- ZeroMemory(&Ret, sizeof(DBR_GR_GetCheckName));
- Ret.dwUserID = *pUserID;
- Ret.dwSocket = dwContextID;
-
- if (lResultCode == DB_SUCCESS)
- {
- if (m_GameDBModule->IsRecordsetEnd() == false)
- {
- Ret.lResultCode = 1;
- m_GameDBAide.GetValue_String(TEXT("Name"), Ret.userName, 20);
- Ret.userName[20] = 0;
- m_GameDBAide.GetValue_String(TEXT("IDCard"), Ret.userCard, 18);
- Ret.userName[18] = 0;
- m_GameDBAide.GetValue_String(TEXT("iphoneNum"), Ret.userPhoneNum, 11);
- Ret.userName[11] = 0;
- m_GameDBAide.GetValue_String(TEXT("Addr"), Ret.userAddr, 128);
- Ret.userAddr[127] = 0;
- }
- }
- else
- {
- Ret.lResultCode = 0;
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- _sntprintf(Ret.strErrorDescribe, 127, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_CHECK_NAME_QUERY, dwContextID, &Ret, sizeof(DBR_GR_GetCheckName));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckName_Query ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckName_Query ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
-
- //手机重复绑定查询
- bool CDataBaseEngineSink::onRequestGetVerifCode(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::onRequestGetVerifCode"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- CMD_GR_GetVerifCode *pGetVerifCode = (CMD_GR_GetVerifCode *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- //输入参数
- m_GameDBAide.AddParameter(TEXT("IphoneNum"), pGetVerifCode->PhoneNum);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_GetVerifCode"), true);
-
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- _sntprintf(szDescribeString, 127, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
-
- memcpy(pGetVerifCode->szDescribeString, szDescribeString, sizeof(szDescribeString));
- pGetVerifCode->IsRepeat = lResultCode;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_GET_VERIF_CODE, dwContextID, pGetVerifCode, sizeof(CMD_GR_GetVerifCode));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetVerifCode ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetVerifCode ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
- //手机号码绑定查询
- bool CDataBaseEngineSink::onRequestCheckIphoneQuery(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::onRequestCheckIphoneQuery"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DWORD *pUserID = (DWORD *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- //输入参数
- m_GameDBAide.AddParameter(TEXT("dwUserID"), *pUserID);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_CheckIphone_Query"), true);
-
- //结果处理
- CMD_GR_CheckIphone_Query Ret;
- ZeroMemory(&Ret, sizeof(CMD_GR_CheckIphone_Query));
- //Ret.dwUserID = *pUserID;
- //Ret.dwSocket = dwContextID;
-
- if (lResultCode == DB_SUCCESS)
- {
- if (m_GameDBModule->IsRecordsetEnd() == false)
- {
- Ret.IsBingNum = 1;
- m_GameDBAide.GetValue_String(TEXT("iphoneNum"), Ret.PhoneNum, 11);
- Ret.PhoneNum[11] = 0;
- Ret.dwCurrency = m_GameDBAide.GetValue_WORD(TEXT("Currency"));
- Ret.IsBingXianLiao = m_GameDBAide.GetValue_BYTE(TEXT("IsXianLiao"));
- }
- }
- else
- {
- Ret.IsBingNum = 0;
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- Ret.dwCurrency = m_GameDBAide.GetValue_WORD(TEXT("Currency"));
- Ret.IsBingXianLiao = m_GameDBAide.GetValue_BYTE(TEXT("IsXianLiao"));
- _sntprintf(szDescribeString, 127, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(616))
- {
- //提示消息
- CTraceService::TraceString(szDescribeString, TraceLevel_Normal);
- }
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_CHECK_IPHONE_QUERY, dwContextID, &Ret, sizeof(CMD_GR_CheckIphone_Query));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckIphone_Query ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckIphone_Query ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
- //手机号码绑定
- bool CDataBaseEngineSink::onRequestCheckIphone(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::onRequestCheckIphone"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_GetCheckIphone *pUserID = (DBR_GR_GetCheckIphone *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- //输入参数
- m_GameDBAide.AddParameter(TEXT("UserID"), pUserID->dwUserID);
- m_GameDBAide.AddParameter(TEXT("IphoneNum"), pUserID->PhoneNum);
- m_GameDBAide.AddParameter(TEXT("VerfCode"), pUserID->VerfCode);
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_CheckIphone"), true);
-
- //结果处理
- CMD_GR_CheckIphone Ret;
- ZeroMemory(&Ret, sizeof(CMD_GR_CheckIphone));
-
- if (lResultCode == DB_SUCCESS)
- {
- if (m_GameDBModule->IsRecordsetEnd() == false)
- {
- Ret.IsBingNum = 1;
- Ret.dwCurrency = m_GameDBAide.GetValue_WORD(TEXT("Currency"));
- _sntprintf(Ret.PhoneNum, 11, TEXT("%s"), pUserID->PhoneNum);
- Ret.PhoneNum[11] = 0;
- }
- }
- else if (lResultCode == 2)
- {
- Ret.IsBingNum = 1;
- Ret.dwCurrency = m_GameDBAide.GetValue_WORD(TEXT("Currency"));
- _sntprintf(Ret.PhoneNum, 11, TEXT("%s"), pUserID->PhoneNum);
- Ret.PhoneNum[11] = 0;
- }
- else
- {
- Ret.IsBingNum = 0;
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- _sntprintf(szDescribeString, 127, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
- CTraceService::TraceString(szDescribeString, TraceLevel_Warning);
- _sntprintf(Ret.PhoneNum, 11, TEXT("%s"), szDescribeString);
- Ret.PhoneNum[11] = 0;
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_CHECK_IPHONE, dwContextID, &Ret, sizeof(CMD_GR_CheckIphone));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckIphone ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckIphone ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
- //闲聊绑定
- bool CDataBaseEngineSink::onRequestCheckXianLiao(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::onRequestCheckIphone"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_GetCheckXianLiao *pUserID = (DBR_GR_GetCheckXianLiao *)pData;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- //输入参数
- m_GameDBAide.AddParameter(TEXT("UserID"), pUserID->dwUserID);
- m_GameDBAide.AddParameter(TEXT("UserOpenID"), pUserID->OpenID);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_CheckXianLiao"), true);
-
- //结果处理
- CMD_GR_CheckIphone Ret;
- ZeroMemory(&Ret, sizeof(CMD_GR_CheckIphone));
-
- if (lResultCode == DB_SUCCESS)
- {
- if (m_GameDBModule->IsRecordsetEnd() == false)
- {
- Ret.IsBingNum = 1;
- Ret.dwCurrency = m_GameDBAide.GetValue_WORD(TEXT("Currency"));
- }
- }
- else if (lResultCode == 2)
- {
- Ret.IsBingNum = 1;
- Ret.dwCurrency = m_GameDBAide.GetValue_WORD(TEXT("Currency"));
- }
- else
- {
- Ret.IsBingNum = 0;
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- _sntprintf(szDescribeString, 127, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
- CTraceService::TraceString(szDescribeString, TraceLevel_Warning);
- _sntprintf(Ret.PhoneNum, 11, TEXT("%s"), szDescribeString);
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_CHECK_IPHONE, dwContextID, &Ret, sizeof(CMD_GR_CheckIphone));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckXianLiao ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckXianLiao ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
-
- //手机登录
- bool CDataBaseEngineSink::OnRequestLogonMobile(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLogonMobile"), TraceLevel_Debug);
- //执行查询
- DBR_GR_LogonMobile * pLogonMobile = (DBR_GR_LogonMobile *)pData;
- dwUserID = pLogonMobile->dwUserID;
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_LogonMobile));
- if (wDataSize != sizeof(DBR_GR_LogonMobile)) return false;
-
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pLogonMobile->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLogonMobile->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@strPassword"), pLogonMobile->szPassword);
- m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_GameDBAide.AddParameter(TEXT("@strMachineID"), pLogonMobile->szMachineID);
- m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- m_GameDBAide.AddParameter(TEXT("@dX"), pLogonMobile->dX);
- m_GameDBAide.AddParameter(TEXT("@dY"), pLogonMobile->dY);
- m_GameDBAide.AddParameter(TEXT("@szChengShi"), pLogonMobile->szChengShi);
-
- //比赛参数
- //if ((m_pGameServiceOption->wServerType&GAME_GENRE_MATCH) != 0)
- //{
- // m_GameDBAide.AddParameter(TEXT("@dwMatchID"), pLogonMobile->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchNO"), pLogonMobile->dwMatchNO);
- //}
-
- //输出参数
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), m_LogonFailure.szDescribeString, sizeof(m_LogonFailure.szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_EfficacyMobile"), true);
-
- //用户信息
- ZeroMemory(&m_LogonSuccess, sizeof(m_LogonSuccess));
- lstrcpyn(m_LogonSuccess.szPassword, pLogonMobile->szPassword, CountArray(m_LogonSuccess.szPassword));
- lstrcpyn(m_LogonSuccess.szMachineID, pLogonMobile->szMachineID, CountArray(m_LogonSuccess.szMachineID));
- m_LogonSuccess.cbDeviceType = pLogonMobile->cbDeviceType;
- m_LogonSuccess.wBehaviorFlags = pLogonMobile->wBehaviorFlags;
- m_LogonSuccess.wPageTableCount = pLogonMobile->wPageTableCount;
-
- m_LogonSuccess.dX = pLogonMobile->dX;
- m_LogonSuccess.dY = pLogonMobile->dY;
- _sntprintf(m_LogonSuccess.szChengShi, CountArray(m_LogonSuccess.szChengShi), TEXT("%s"), pLogonMobile->szChengShi);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- OnLogonDisposeResult(dwContextID, lResultCode, CW2CT(DBVarValue.bstrVal), true, pLogonMobile->cbDeviceType, pLogonMobile->wBehaviorFlags, pLogonMobile->wPageTableCount);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_EfficacyMobile ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //错误信息
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- //错误处理
- OnLogonDisposeResult(dwContextID, DB_ERROR, TEXT("由于数据库操作异常,请您稍后重试或选择另一服务器登录!"), true);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_EfficacyMobile ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
-
- return true;
- }
-
- //游戏写临时分记录
- bool CDataBaseEngineSink::OnRequestWriteGameTempScoreRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestWriteGameTempScoreRecord"), TraceLevel_Debug);
- //请求处理
- DBR_GR_WriteGameTemporaryScore * pWriteGameScore = (DBR_GR_WriteGameTemporaryScore *)pData;
- dwUserID = pWriteGameScore->dwUserID;
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_WriteGameTemporaryScore));
- if (wDataSize != sizeof(DBR_GR_WriteGameTemporaryScore)) return false;
-
- //转化地址
- //TCHAR szClientAddr[16] = TEXT("");
- //BYTE * pClientAddr = (BYTE *)&pWriteGameScore->dwClientAddr;
- //_sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_GameDBAide.ResetParameter();
- //用户信息
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pWriteGameScore->dwUserID);
-
- //变更成绩
- //m_GameDBAide.AddParameter(TEXT("@lScore"), pWriteGameScore->lScore);
- //m_GameDBAide.AddParameter(TEXT("@lWinCount"), pWriteGameScore->dwWinCount);
- //m_GameDBAide.AddParameter(TEXT("@lLostCount"), pWriteGameScore->dwLostCount);
- //m_GameDBAide.AddParameter(TEXT("@dwPlayTimeCount"), pWriteGameScore->dwPlayTimeCount);
-
- ////属性信息
- //m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- //m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- //m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_WriteGameTemporaryScoreRecord"), false);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 TemporaryScoreRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_WriteGameTemporaryScoreRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- //获取每日临时分排行榜
- bool CDataBaseEngineSink::OnRequestGetGameTempScoreRecordRankList(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetGameTempScoreRecordRankList"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- //构造参数
- m_GameDBAide.ResetParameter();
-
- SYSTEMTIME nowTime;
- CTime::GetCurrentTime().GetAsSystemTime(nowTime);
-
- //获取当前时间
- m_GameDBAide.AddParameter(TEXT("@queryDate"), nowTime);
- //获取前100名玩家
- m_GameDBAide.AddParameter(TEXT("@wNum"), 100);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_GetGameTemporaryScoreRecords"), true);
-
- CMD_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST_RESULT resp;
- resp.wRankListCount = m_GameDBModule->GetRecordCount();
- int totalSize = resp.wRankListCount * sizeof(tagUserRankListInfo) + sizeof(CMD_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST_RESULT);
- char* data = new char[totalSize];
- CopyMemory(data, &resp, sizeof(resp));
-
- int offset = sizeof(CMD_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST_RESULT);
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- tagUserRankListInfo info;
- ZeroMemory(&info, sizeof(info));
- info.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBAide.GetValue_String(TEXT("NickName"), info.szNickName, LEN_NICKNAME);
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), info.szHeadUrl, LEN_HEAD_URL);
- info.lScore = m_GameDBAide.GetValue_INT(TEXT("TempScoreChange"));
- info.wWinCount = m_GameDBAide.GetValue_WORD(TEXT("WinCount"));
- info.wLostCount = m_GameDBAide.GetValue_WORD(TEXT("LostCount"));
- CopyMemory(data + offset, &info, sizeof(tagUserRankListInfo));
- offset += sizeof(tagUserRankListInfo);
-
- m_GameDBModule->MoveToNext();
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST_RESULT, dwContextID, data, totalSize);
- //内存修改
- SafeDeleteArray(data);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetGameTemporaryScoreRecords ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetGameTemporaryScoreRecords ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return false;
- }
-
- return true;
- }
-
-
- //游戏写分
- bool CDataBaseEngineSink::OnRequestWriteGameScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestWriteGameScore"), TraceLevel_Debug);
- //请求处理
- DBR_GR_WriteGameScore * pWriteGameScore = (DBR_GR_WriteGameScore *)pData;
- dwUserID = pWriteGameScore->dwUserID;
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_WriteGameScore));
- if (wDataSize != sizeof(DBR_GR_WriteGameScore)) return false;
-
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pWriteGameScore->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_GameDBAide.ResetParameter();
-
- //用户信息
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pWriteGameScore->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@dwDBQuestID"), pWriteGameScore->dwDBQuestID);
- m_GameDBAide.AddParameter(TEXT("@dwInoutIndex"), pWriteGameScore->dwInoutIndex);
-
- //变更成绩
- m_GameDBAide.AddParameter(TEXT("@lScore"), pWriteGameScore->VariationInfo.lScore);
- m_GameDBAide.AddParameter(TEXT("@lGrade"), pWriteGameScore->VariationInfo.lGrade);
- m_GameDBAide.AddParameter(TEXT("@lInsure"), pWriteGameScore->VariationInfo.lInsure);
- m_GameDBAide.AddParameter(TEXT("@lRevenue"), pWriteGameScore->VariationInfo.lRevenue);
- m_GameDBAide.AddParameter(TEXT("@lWinCount"), pWriteGameScore->VariationInfo.dwWinCount);
- m_GameDBAide.AddParameter(TEXT("@lLostCount"), pWriteGameScore->VariationInfo.dwLostCount);
- m_GameDBAide.AddParameter(TEXT("@lDrawCount"), pWriteGameScore->VariationInfo.dwDrawCount);
- m_GameDBAide.AddParameter(TEXT("@lFleeCount"), pWriteGameScore->VariationInfo.dwFleeCount);
- m_GameDBAide.AddParameter(TEXT("@lUserMedal"), pWriteGameScore->VariationInfo.lIngot);
- m_GameDBAide.AddParameter(TEXT("@lExperience"), pWriteGameScore->VariationInfo.dwExperience);
- m_GameDBAide.AddParameter(TEXT("@lLoveLiness"), pWriteGameScore->VariationInfo.lLoveLiness);
- m_GameDBAide.AddParameter(TEXT("@dwPlayTimeCount"), pWriteGameScore->VariationInfo.dwPlayTimeCount);
-
- //任务参数
- m_GameDBAide.AddParameter(TEXT("@cbTaskForward"), pWriteGameScore->bTaskForward);
-
- //比赛参数
- if ((m_pGameServiceOption->wServerType&GAME_GENRE_MATCH) != 0)
- {
- //比赛信息
- m_GameDBAide.AddParameter(TEXT("@dwMatchID"), pWriteGameScore->dwMatchID);
- m_GameDBAide.AddParameter(TEXT("@dwMatchNo"), pWriteGameScore->dwMatchNO);
- }
-
- //属性信息
- m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_WriteGameScore"), false);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_WriteGameScore ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_WriteGameScore ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- //离开房间
- bool CDataBaseEngineSink::OnRequestLeaveGameServer(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLeaveGameServer"), TraceLevel_Debug);
- //请求处理
- DBR_GR_LeaveGameServer * pLeaveGameServer = (DBR_GR_LeaveGameServer *)pData;
- dwUserID = pLeaveGameServer->dwUserID;
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_LeaveGameServer));
- if (wDataSize != sizeof(DBR_GR_LeaveGameServer)) return false;
-
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pLeaveGameServer->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_GameDBAide.ResetParameter();
-
- //用户信息
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLeaveGameServer->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@dwOnLineTimeCount"), pLeaveGameServer->dwOnLineTimeCount);
-
- //系统信息
- m_GameDBAide.AddParameter(TEXT("@dwInoutIndex"), pLeaveGameServer->dwInoutIndex);
- m_GameDBAide.AddParameter(TEXT("@dwLeaveReason"), pLeaveGameServer->dwLeaveReason);
-
- //记录成绩
- m_GameDBAide.AddParameter(TEXT("@lRecordScore"), pLeaveGameServer->RecordInfo.lScore);
- m_GameDBAide.AddParameter(TEXT("@lRecordGrade"), pLeaveGameServer->RecordInfo.lGrade);
- m_GameDBAide.AddParameter(TEXT("@lRecordInsure"), pLeaveGameServer->RecordInfo.lInsure);
- m_GameDBAide.AddParameter(TEXT("@lRecordRevenue"), pLeaveGameServer->RecordInfo.lRevenue);
- m_GameDBAide.AddParameter(TEXT("@lRecordWinCount"), pLeaveGameServer->RecordInfo.dwWinCount);
- m_GameDBAide.AddParameter(TEXT("@lRecordLostCount"), pLeaveGameServer->RecordInfo.dwLostCount);
- m_GameDBAide.AddParameter(TEXT("@lRecordDrawCount"), pLeaveGameServer->RecordInfo.dwDrawCount);
- m_GameDBAide.AddParameter(TEXT("@lRecordFleeCount"), pLeaveGameServer->RecordInfo.dwFleeCount);
- m_GameDBAide.AddParameter(TEXT("@lRecordUserMedal"), pLeaveGameServer->RecordInfo.lIngot);
- m_GameDBAide.AddParameter(TEXT("@lRecordExperience"), pLeaveGameServer->RecordInfo.dwExperience);
- m_GameDBAide.AddParameter(TEXT("@lRecordLoveLiness"), pLeaveGameServer->RecordInfo.lLoveLiness);
- m_GameDBAide.AddParameter(TEXT("@dwRecordPlayTimeCount"), pLeaveGameServer->RecordInfo.dwPlayTimeCount);
-
- //变更成绩
- m_GameDBAide.AddParameter(TEXT("@lVariationScore"), pLeaveGameServer->VariationInfo.lScore);
- m_GameDBAide.AddParameter(TEXT("@lVariationGrade"), pLeaveGameServer->VariationInfo.lGrade);
- m_GameDBAide.AddParameter(TEXT("@lVariationInsure"), pLeaveGameServer->VariationInfo.lInsure);
- m_GameDBAide.AddParameter(TEXT("@lVariationRevenue"), pLeaveGameServer->VariationInfo.lRevenue);
- m_GameDBAide.AddParameter(TEXT("@lVariationWinCount"), pLeaveGameServer->VariationInfo.dwWinCount);
- m_GameDBAide.AddParameter(TEXT("@lVariationLostCount"), pLeaveGameServer->VariationInfo.dwLostCount);
- m_GameDBAide.AddParameter(TEXT("@lVariationDrawCount"), pLeaveGameServer->VariationInfo.dwDrawCount);
- m_GameDBAide.AddParameter(TEXT("@lVariationFleeCount"), pLeaveGameServer->VariationInfo.dwFleeCount);
- m_GameDBAide.AddParameter(TEXT("@lVariationUserMedal"), pLeaveGameServer->VariationInfo.lIngot);
- m_GameDBAide.AddParameter(TEXT("@lVariationExperience"), pLeaveGameServer->VariationInfo.dwExperience);
- m_GameDBAide.AddParameter(TEXT("@lVariationLoveLiness"), pLeaveGameServer->VariationInfo.lLoveLiness);
- m_GameDBAide.AddParameter(TEXT("@dwVariationPlayTimeCount"), pLeaveGameServer->VariationInfo.dwPlayTimeCount);
-
- //其他参数
- m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_GameDBAide.AddParameter(TEXT("@strMachineID"), pLeaveGameServer->szMachineID);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LeaveGameServer"), false);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LeaveGameServer ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LeaveGameServer ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- //游戏记录
- bool CDataBaseEngineSink::OnRequestGameScoreRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGameScoreRecord"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- //变量定义
- DBR_GR_GameScoreRecordEx * pGameScoreRecord = (DBR_GR_GameScoreRecordEx *)pData;
- dwUserID = INVALID_DWORD;
-
- //效验参数
- ASSERT(wDataSize <= (sizeof(DBR_GR_GameScoreRecord) + pGameScoreRecord->wRePlayRecordSize));
- ASSERT(wDataSize >= (sizeof(DBR_GR_GameScoreRecord) - sizeof(pGameScoreRecord->GameScoreRecord)));
- ASSERT(wDataSize == (sizeof(DBR_GR_GameScoreRecord) - sizeof(pGameScoreRecord->GameScoreRecord) + pGameScoreRecord->wRecordCount * sizeof(pGameScoreRecord->GameScoreRecord[0]) + pGameScoreRecord->wRePlayRecordSize));
-
- //效验参数
- if (wDataSize > (sizeof(DBR_GR_GameScoreRecord) + pGameScoreRecord->wRePlayRecordSize)) return false;
- if (wDataSize < (sizeof(DBR_GR_GameScoreRecord) - sizeof(pGameScoreRecord->GameScoreRecord))) return false;
- if (wDataSize != (sizeof(DBR_GR_GameScoreRecord) - sizeof(pGameScoreRecord->GameScoreRecord) + pGameScoreRecord->wRecordCount * sizeof(pGameScoreRecord->GameScoreRecord[0]) + pGameScoreRecord->wRePlayRecordSize)) return false;
-
- //房间信息
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
-
- //桌子信息
- m_GameDBAide.AddParameter(TEXT("@wTableID"), pGameScoreRecord->wTableID);
- m_GameDBAide.AddParameter(TEXT("@wUserCount"), pGameScoreRecord->wUserCount);
- m_GameDBAide.AddParameter(TEXT("@wAndroidCount"), pGameScoreRecord->wAndroidCount);
-
- //税收损耗
- m_GameDBAide.AddParameter(TEXT("@lWasteCount"), pGameScoreRecord->lWasteCount);
- m_GameDBAide.AddParameter(TEXT("@lRevenueCount"), pGameScoreRecord->lRevenueCount);
-
-
- //统计信息
- m_GameDBAide.AddParameter(TEXT("@dwUserMemal"), pGameScoreRecord->UserMemal);
- m_GameDBAide.AddParameter(TEXT("@dwPlayTimeCount"), pGameScoreRecord->dwPlayTimeCount);
-
- //时间信息
- m_GameDBAide.AddParameter(TEXT("@SystemTimeStart"), pGameScoreRecord->SystemTimeStart);
- m_GameDBAide.AddParameter(TEXT("@SystemTimeConclude"), pGameScoreRecord->SystemTimeConclude);
-
- m_GameDBAide.AddParameter(TEXT("@wParentID"), pGameScoreRecord->wPrivateTableParentNodeID);
- m_GameDBAide.AddParameter(TEXT("@bUpdateParent"), pGameScoreRecord->cbUpdateParent);
- m_GameDBAide.AddParameter(TEXT("@szPrivateTableID"), pGameScoreRecord->szPrivateTableID);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_RecordDrawInfo"), true);
-
- //写入记录
- if (lResultCode == DB_SUCCESS)
- {
- //获取标识
- DWORD dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
-
- if (pGameScoreRecord->wRePlayRecordSize > 0)
- {
- //房间信息
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@DrawID"), dwDrawID);
- m_GameDBAide.AddParameter(TEXT("@ReplayRecordSize"), pGameScoreRecord->wRePlayRecordSize);
-
- WORD wHeadSize = sizeof(DBR_GR_GameScoreRecord) - sizeof(pGameScoreRecord->GameScoreRecord);
- WORD wDataSize = sizeof(pGameScoreRecord->GameScoreRecord[0])*pGameScoreRecord->wRecordCount;
-
- char* pReplayRecordData = (char*)pData + wHeadSize + wDataSize;
- //CMD_GR_ReplayRecordResp2* pReq = (CMD_GR_ReplayRecordResp2*)pReplayRecordData;
-
- //变量定义
- SAFEARRAYBOUND SafeArrayBound;
- ZeroMemory(&SafeArrayBound, sizeof(SafeArrayBound));
-
- //设置变量
- SafeArrayBound.lLbound = 0L;
- SafeArrayBound.cElements = pGameScoreRecord->wRePlayRecordSize;
- SAFEARRAY * pSafeArray = SafeArrayCreate(VT_UI1, 1, &SafeArrayBound);
-
- //创建数组
- for (LONG nIndex = 0; nIndex < pGameScoreRecord->wRePlayRecordSize; nIndex++)
- SafeArrayPutElement(pSafeArray, &nIndex, pReplayRecordData + nIndex);
-
- //设置变量
- VARIANT VarChunk;
- VarChunk.parray = pSafeArray;
- VarChunk.vt = VT_ARRAY | VT_UI1;
-
- ASSERT(m_GameDBModule.GetInterface() != NULL);
- IDataBase * pIDataBase = m_GameDBModule.GetInterface();
- pIDataBase->AddParameter(TEXT("@ReplayRecord"), adLongVarBinary, adParamInput, pGameScoreRecord->wRePlayRecordSize, CDBVarValue(VarChunk));
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_SaveGameReplay"), false);
-
- }
-
-
- //写入记录
- for (WORD i = 0; i < pGameScoreRecord->wRecordCount; i++)
- {
- //当玩法为2人玩法的时候,且数据相同时,就过滤一下战绩存储
- if (i==1 && pGameScoreRecord->GameScoreRecord[1].dwUserID == pGameScoreRecord->GameScoreRecord[2].dwUserID)continue;
- //重置参数
- m_GameDBAide.ResetParameter();
-
- //房间信息
- m_GameDBAide.AddParameter(TEXT("@dwDrawID"), dwDrawID);
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pGameScoreRecord->GameScoreRecord[i].dwUserID);
- m_GameDBAide.AddParameter(TEXT("@wChairID"), pGameScoreRecord->GameScoreRecord[i].wChairID);
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
-
- int iRet = BASE64_Encode((const BYTE*)pGameScoreRecord->GameScoreRecord[i].szUserName, 32, szBuffer);
-
- if (iRet < 0)
- {
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- _sntprintf(szBuffer, 128, TEXT("%s"), TEXT("麻将高手"));
- }
-
- m_GameDBAide.AddParameter(TEXT("@UserName"), szBuffer);
-
- //用户信息
- m_GameDBAide.AddParameter(TEXT("@dwDBQuestID"), pGameScoreRecord->GameScoreRecord[i].dwDBQuestID);
- m_GameDBAide.AddParameter(TEXT("@dwInoutIndex"), pGameScoreRecord->GameScoreRecord[i].dwInoutIndex);
-
- //成绩信息
- m_GameDBAide.AddParameter(TEXT("@lScore"), pGameScoreRecord->GameScoreRecord[i].lScore);
- m_GameDBAide.AddParameter(TEXT("@lGrade"), pGameScoreRecord->GameScoreRecord[i].lGrade);
- m_GameDBAide.AddParameter(TEXT("@lRevenue"), pGameScoreRecord->GameScoreRecord[i].lRevenue);
- m_GameDBAide.AddParameter(TEXT("@dwUserMedal"), pGameScoreRecord->GameScoreRecord[i].dwUserMemal);
- m_GameDBAide.AddParameter(TEXT("@dwPlayTimeCount"), pGameScoreRecord->GameScoreRecord[i].dwPlayTimeCount);
- m_GameDBAide.AddParameter(TEXT("@bUpdateParent"), pGameScoreRecord->cbUpdateParent);
- m_GameDBAide.AddParameter(TEXT("@Head"), pGameScoreRecord->GameScoreRecord[i].szHeadImg);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_RecordDrawScore"), false);
- }
- //分数写入俱乐部
- if (pGameScoreRecord->cbUpdateParent == 0 && pGameScoreRecord->wTableType == 1)
- {
- //重置参数
- m_GameDBAide.ResetParameter();
- int Temp[4] = { 0 };
- for (BYTE i = 0; i < pGameScoreRecord->wRecordCount; i++)
- {
- Temp[i] = pGameScoreRecord->GameScoreRecord[i].lScore;
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(302))
- {
- CString csTest1;
- csTest1.Format(_T("玩家结算分数pGameScoreRecord->GameScoreRecord.lScore1 %d %d %d %d %d"), _ttol(pGameScoreRecord->szPrivateTableID), Temp[0], Temp[1], Temp[2], Temp[3]);
- //提示消息
- CTraceService::TraceString(csTest1, TraceLevel_Normal);
- }
- //写入记录
- m_GameDBAide.AddParameter(TEXT("@PrivateTableID"), _ttol(pGameScoreRecord->szPrivateTableID));
- m_GameDBAide.AddParameter(TEXT("@lScore1"), Temp[0]);
- m_GameDBAide.AddParameter(TEXT("@lScore2"), Temp[1]);
- m_GameDBAide.AddParameter(TEXT("@lScore3"), Temp[2]);
- m_GameDBAide.AddParameter(TEXT("@lScore4"), Temp[3]);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_RecordDrawScore"), false);
- }
-
- if (pGameScoreRecord->wPrivateTableParentNodeID == 0)
- {//如果是父节点房间,需要返回父节点房间号
- DBR_GR_GameScoreRecordResult ret;
- ret.wTableID = pGameScoreRecord->wTableID;
- ret.wPrivateTableParentNodeID = dwDrawID;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GameScoreRecord_RESULT, dwContextID, &ret, sizeof(ret));
- }
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_RecordDrawInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- return false;
- }
-
- return true;
- }
-
-
- bool CDataBaseEngineSink::OnRequestGetUserGameReplayRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetUserGameReplayRecord"), TraceLevel_Debug);
- try
- {
- //变量定义
- CMD_GR_ReplayRecordReq * pGameScoreRecord = (CMD_GR_ReplayRecordReq *)pData;
- dwUserID = INVALID_DWORD;
-
- //效验参数
- ASSERT(wDataSize <= sizeof(CMD_GR_ReplayRecordReq));
-
- //效验参数
- if (wDataSize > sizeof(CMD_GR_ReplayRecordReq)) return false;
-
- CMD_GR_ReplayRecordReq* pRecord = (CMD_GR_ReplayRecordReq*)pData;
-
- //房间信息
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@DrawID"), pRecord->dwRecordID);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_GetGameReplay"), true);
-
- //写入记录
- if (lResultCode == DB_SUCCESS)
- {
- //获取标识
- //读取列表
-
- _variant_t VarChunk;
- m_GameDBAide.GetValue_VarValue(TEXT("ReplayRecordSize"), VarChunk);
-
- DWORD wSize = VarChunk;
- //头像信息
- ASSERT(m_GameDBModule.GetInterface() != NULL);
- IDataBase * pIDataBase = m_GameDBModule.GetInterface();
-
- char* data = new char[wSize];
- ZeroMemory(data, wSize);
-
-
- _variant_t VarChunk2;
- m_GameDBAide.GetValue_VarValue(TEXT("ReplayRecord"), VarChunk2);
- if (VarChunk2.vt == (VT_ARRAY | VT_UI1))
- {
- char *pBuf = NULL;
- SafeArrayAccessData(VarChunk2.parray, (void **)&pBuf);
- memcpy(data, pBuf, wSize); ///复制数据到缓冲区m_pBMPBuffer
- SafeArrayUnaccessData(VarChunk2.parray);
- }
-
- //CMD_GR_ReplayRecordResp2* pReq = (CMD_GR_ReplayRecordResp2*)data;
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GET_USER_GAMESCORE_REPLAY_RECORD, dwContextID, data, wSize);
- //内存修改
- SafeDeleteArray(data);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetGameReplay ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetGameReplay ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- //获取游戏记录
- bool CDataBaseEngineSink::OnRequestGetUserGameScoreRecords(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetUserGameScoreRecords"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(CMD_GR_GetUserRecordListReq)
- || wDataSize == sizeof(CMD_GR_GetUserRecordListReqNew));
-
- //效验参数
- if (wDataSize != sizeof(CMD_GR_GetUserRecordListReq)
- && wDataSize != sizeof(CMD_GR_GetUserRecordListReqNew)) return false;
-
- DWORD dwP = 0;
-
- int iLen1 = sizeof(CMD_GR_GetUserRecordListReqNew);
- int iLen2 = sizeof(CMD_GR_GetUserRecordListReq);
-
- CMD_GR_GetUserRecordListReqNew* pRecord = (CMD_GR_GetUserRecordListReqNew*)pData;
-
- //房间信息
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pRecord->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- m_GameDBAide.AddParameter(TEXT("@wParentID"), pRecord->wParentID);
- m_GameDBAide.AddParameter(TEXT("@wMinLimit"), pRecord->wLimitIndex);
- m_GameDBAide.AddParameter(TEXT("@wMaxLimit"), pRecord->wLimitIndex + pRecord->wLimitCount);
- dwP = pRecord->wParentID;
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_GetRecordDrawInfo"), true);
- //写入记录
- if (lResultCode == DB_SUCCESS)
- {
- //获取标识
- //读取列表
- CMD_GR_GetUserScoreRecordListResp records;
- ZeroMemory(&records, sizeof(CMD_GR_GetUserScoreRecordListResp));
-
- if (dwP == 0)
- {
- records.wParentRecordID = dwP;
- WORD difen = 0;
- WORD wUserMedal = 0;
-
- std::unordered_map<DWORD, DWORD> DrawID_2_DiFen; //Socket关联UserID
- //节点
- std::vector<tagGameRecordDrawInfo> GameScoreRecord(m_GameDBModule->GetRecordCount());
- //m_GameDBModule->MoveToFirst();
-
- int i = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- int iTemp = i;
- tagGameRecordDrawInfo& grdi = GameScoreRecord[i++];
- grdi.dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
- grdi.wTableID = m_GameDBAide.GetValue_WORD(TEXT("TableID"));
- m_GameDBAide.GetValue_String(TEXT("PrivateTableID"), grdi.szPrivateTableID, LEN_PRIVATE_TABLE_ID);
-
- DWORD dTest = m_GameDBAide.GetValue_DWORD(TEXT("UserMedal"));
- WORD* wpData = (WORD*)&dTest;
- grdi.wTableID = wpData[1];
- grdi.wUserMedal = wpData[0];
- difen = grdi.wTableID;
-
- DrawID_2_DiFen[grdi.dwDrawID] = difen;
- wUserMedal = grdi.wUserMedal;
- GameScoreRecord[iTemp].wTableID = difen;
- GameScoreRecord[iTemp].wUserMedal = wUserMedal;
-
- grdi.wUserCount = m_GameDBAide.GetValue_WORD(TEXT("UserCount"));
- SYSTEMTIME SystemTimeStart, SystemTimeConclude;
- m_GameDBAide.GetValue_SystemTime(TEXT("StartTime"), SystemTimeStart);
- m_GameDBAide.GetValue_SystemTime(TEXT("ConcludeTime"), SystemTimeConclude);
- CTime StartTime(SystemTimeStart);
- CTime ConcludeTime(SystemTimeConclude);
- grdi.SystemTimeStart = StartTime.GetTime();
- grdi.SystemTimeConclude = ConcludeTime.GetTime();
-
- grdi.wParentID = m_GameDBAide.GetValue_WORD(TEXT("ParentID"));
- grdi.wWanFa = m_GameDBAide.GetValue_WORD(TEXT("Waste"));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- records.wRecordCount = GameScoreRecord.size();
-
- for (int i = 0; i < records.wRecordCount; i++)
- {
- tagGameRecordDrawInfo& grdi = GameScoreRecord[i];
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@DrawID"), grdi.dwDrawID);
-
- int j = 0;
- LONG lResultCode2 = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_GetRecordDrawScore"), true);
- if (lResultCode2 == DB_SUCCESS)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (j > 3)
- break;
- //读取数据
- tagGameRecordDrawScore& grds = grdi.GameChairScore[j++];
- grds.dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
- grds.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
-
- m_GameDBAide.GetValue_String(TEXT("UserImg"), grds.szHeadImg, 255);
-
- CString csTest = grds.szHeadImg;
-
- if (csTest == _T("0"))
- {
- ZeroMemory(grds.szHeadImg, 256 * sizeof(TCHAR));
- }
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(grds.szUserName, LEN_NICKNAME, TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(grds.szUserName, LEN_NICKNAME, TEXT("%s"), szOutBuffer);
- }
-
- grds.wChairID = m_GameDBAide.GetValue_WORD(TEXT("ChairID"));
- grds.lScore = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- grds.lGrade = m_GameDBAide.GetValue_WORD(TEXT("Grade"));
-
- DWORD dTest = m_GameDBAide.GetValue_DWORD(TEXT("UserMedal"));
- WORD* wpData = (WORD*)&dTest;
-
- auto iter = DrawID_2_DiFen.find(grds.dwDrawID);
- if (iter == std::end(DrawID_2_DiFen))
- {
- grdi.wTableID = difen;
- }
- else
- {
- grdi.wTableID = DrawID_2_DiFen[grds.dwDrawID];
- }
-
- grdi.wUserMedal = wUserMedal;
-
- grds.dwPlayTimeCount = m_GameDBAide.GetValue_WORD(TEXT("PlayTimeCount"));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
-
- }
- //grdi.wChairCount = j;
- }
-
- DrawID_2_DiFen.clear();
- int totalSize = sizeof(CMD_GR_GetUserScoreRecordListResp) + sizeof(tagGameRecordDrawInfo)*GameScoreRecord.size();
- char* buff = new char[totalSize];
- memcpy(buff, &records, sizeof(WORD) * 2);
- int offset = sizeof(WORD) * 2;
- for (tagGameRecordDrawInfo& r : GameScoreRecord)
- {
- memcpy(buff + offset, &r, sizeof(tagGameRecordDrawInfo));
- offset += sizeof(tagGameRecordDrawInfo);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(4321))
- {
- CString csTest;
- csTest.Format(_T("【OnRequestGetUserGameScoreRecords】获取战绩长度 ----> %d "), totalSize);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GET_USER_GAMESCORE_LIST, dwContextID, buff, totalSize);
- //delete buff;
- //内存修改
- SafeDeleteArray(buff);
- }
- else
- {
- records.wParentRecordID = 1;
- //详情
- std::vector<tagGameRecordDrawInfoEx> GameScoreRecord(m_GameDBModule->GetRecordCount());
- int i = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- tagGameRecordDrawInfoEx& grdi = GameScoreRecord[i++];
- grdi.dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
- grdi.wTableID = m_GameDBAide.GetValue_WORD(TEXT("TableID"));
- m_GameDBAide.GetValue_String(TEXT("PrivateTableID"), grdi.szPrivateTableID, LEN_PRIVATE_TABLE_ID);
-
- DWORD dTest = m_GameDBAide.GetValue_DWORD(TEXT("UserMedal"));
- grdi.wUserMedal = dTest;
-
- grdi.wUserCount = m_GameDBAide.GetValue_WORD(TEXT("UserCount"));
- grdi.wParentID = 1;
- grdi.wWanFa = m_GameDBAide.GetValue_WORD(TEXT("Waste"));
- SYSTEMTIME SystemTimeStart, SystemTimeConclude;
- m_GameDBAide.GetValue_SystemTime(TEXT("StartTime"), SystemTimeStart);
- m_GameDBAide.GetValue_SystemTime(TEXT("ConcludeTime"), SystemTimeConclude);
- CTime StartTime(SystemTimeStart);
- CTime ConcludeTime(SystemTimeConclude);
- grdi.SystemTimeStart = StartTime.GetTime();
- grdi.SystemTimeConclude = ConcludeTime.GetTime();
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- records.wRecordCount = GameScoreRecord.size();
-
- for (int i = 0; i < records.wRecordCount; i++)
- {
- tagGameRecordDrawInfoEx& grdi = GameScoreRecord[i];
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@DrawID"), grdi.dwDrawID);
-
- int j = 0;
- LONG lResultCode2 = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_GetRecordDrawScore"), true);
- if (lResultCode2 == DB_SUCCESS)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (j > 3)
- break;
- //读取数据
- tagGameRecordDrawScoreEx& grds = grdi.GameChairScore[j++];
- grds.dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
- grds.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(grds.szUserName, LEN_NICKNAME, TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(grds.szUserName, LEN_NICKNAME, TEXT("%s"), szOutBuffer);
- }
-
- grds.wChairID = m_GameDBAide.GetValue_WORD(TEXT("ChairID"));
- grds.lScore = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- grds.lGrade = m_GameDBAide.GetValue_WORD(TEXT("Grade"));
- grds.dwUserMedal = m_GameDBAide.GetValue_WORD(TEXT("UserMedal"));
- grds.dwPlayTimeCount = m_GameDBAide.GetValue_WORD(TEXT("PlayTimeCount"));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
-
- }
- //grdi.wChairCount = j;
- }
-
- int totalSize = sizeof(CMD_GR_GetUserScoreRecordListResp) + sizeof(tagGameRecordDrawInfoEx)*GameScoreRecord.size();
- char* buff = new char[totalSize];
- memcpy(buff, &records, sizeof(WORD) * 2);
- int offset = sizeof(WORD) * 2;
- for (tagGameRecordDrawInfoEx& r : GameScoreRecord)
- {
- memcpy(buff + offset, &r, sizeof(tagGameRecordDrawInfoEx));
- offset += sizeof(tagGameRecordDrawInfoEx);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(4321))
- {
- CString csTest;
- csTest.Format(_T("【OnRequestGetUserGameScoreRecords】获取战绩长度 ----> %d "), totalSize);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GET_USER_GAMESCORE_LIST, dwContextID, buff, totalSize);
- //delete buff;
- //内存修改
- SafeDeleteArray(buff);
- }
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetRecordDrawInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetRecordDrawInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetRecordDrawInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- //return false;
- }
-
- return true;
- }
-
- //加载参数
- bool CDataBaseEngineSink::OnRequestLoadParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadParameter"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- //变量定义
- DBO_GR_GameParameter GameParameter;
- ZeroMemory(&GameParameter, sizeof(GameParameter));
-
- //执行查询
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LoadParameter"), true);
-
- ZeroMemory(&GameParameter.msParameter, sizeof(MyStructParameter) * 2);
- //读取信息
- if (lResultCode == DB_SUCCESS)
- {
- //汇率信息
- GameParameter.wMedalRate = 0;// m_GameDBAide.GetValue_WORD(TEXT("MedalRate"));
- GameParameter.wRevenueRate = 0;//m_GameDBAide.GetValue_WORD(TEXT("RevenueRate"));
- GameParameter.wExchangeRate = 0;//m_GameDBAide.GetValue_WORD(TEXT("ExchangeRate"));
-
- //经验奖励
- GameParameter.dwWinExperience = 0;//m_GameDBAide.GetValue_WORD(TEXT("WinExperience"));
-
- //版本信息
- GameParameter.dwClientVersion = 0;//m_GameDBAide.GetValue_DWORD(TEXT("ClientVersion"));
- GameParameter.dwServerVersion = 0;//m_GameDBAide.GetValue_DWORD(TEXT("ServerVersion"));
-
- m_GameDBModule->MoveToFirst();
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- int idNum = m_GameDBAide.GetValue_DWORD(TEXT("idNum"));
- if (idNum == 1)
- {
- m_GameDBAide.GetValue_String(TEXT("gameTypeCfg"), GameParameter.msParameter[0].szgameTypeCfg, _countof(GameParameter.msParameter[0].szgameTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("diJinCfg"), GameParameter.msParameter[0].diJinCfg, _countof(GameParameter.msParameter[0].diJinCfg));
- m_GameDBAide.GetValue_String(TEXT("payTypeCfg"), GameParameter.msParameter[0].payTypeCfg, _countof(GameParameter.msParameter[0].payTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("juShuCfg"), GameParameter.msParameter[0].juShuCfg, _countof(GameParameter.msParameter[0].juShuCfg));
- m_GameDBAide.GetValue_String(TEXT("payCoinCfg"), GameParameter.msParameter[0].payCoinCfg, _countof(GameParameter.msParameter[0].payCoinCfg));
- m_GameDBAide.GetValue_String(TEXT("ipLimitCfg"), GameParameter.msParameter[0].ipLimitCfg, _countof(GameParameter.msParameter[0].ipLimitCfg));
- m_GameDBAide.GetValue_String(TEXT("defaultDeskCfg"), GameParameter.msParameter[0].defaultDeskCfg, _countof(GameParameter.msParameter[0].defaultDeskCfg));
- GameParameter.msParameter[0].idNum = m_GameDBAide.GetValue_DWORD(TEXT("idNum"));
- }
- else if (idNum == 2)
- {
- m_GameDBAide.GetValue_String(TEXT("gameTypeCfg"), GameParameter.msParameter[1].szgameTypeCfg, _countof(GameParameter.msParameter[1].szgameTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("diJinCfg"), GameParameter.msParameter[1].diJinCfg, _countof(GameParameter.msParameter[1].diJinCfg));
- m_GameDBAide.GetValue_String(TEXT("payTypeCfg"), GameParameter.msParameter[1].payTypeCfg, _countof(GameParameter.msParameter[1].payTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("juShuCfg"), GameParameter.msParameter[1].juShuCfg, _countof(GameParameter.msParameter[1].juShuCfg));
- m_GameDBAide.GetValue_String(TEXT("payCoinCfg"), GameParameter.msParameter[1].payCoinCfg, _countof(GameParameter.msParameter[1].payCoinCfg));
- m_GameDBAide.GetValue_String(TEXT("ipLimitCfg"), GameParameter.msParameter[1].ipLimitCfg, _countof(GameParameter.msParameter[1].ipLimitCfg));
- m_GameDBAide.GetValue_String(TEXT("defaultDeskCfg"), GameParameter.msParameter[1].defaultDeskCfg, _countof(GameParameter.msParameter[1].defaultDeskCfg));
- GameParameter.msParameter[1].idNum = m_GameDBAide.GetValue_DWORD(TEXT("idNum"));
- }
- else if (3 == idNum) ///modify by yd
- {
- m_GameDBAide.GetValue_String(TEXT("gameTypeCfg"), GameParameter.msParameter[2].szgameTypeCfg, _countof(GameParameter.msParameter[2].szgameTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("diJinCfg"), GameParameter.msParameter[2].diJinCfg, _countof(GameParameter.msParameter[2].diJinCfg));
- m_GameDBAide.GetValue_String(TEXT("payTypeCfg"), GameParameter.msParameter[2].payTypeCfg, _countof(GameParameter.msParameter[2].payTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("juShuCfg"), GameParameter.msParameter[2].juShuCfg, _countof(GameParameter.msParameter[2].juShuCfg));
- m_GameDBAide.GetValue_String(TEXT("payCoinCfg"), GameParameter.msParameter[2].payCoinCfg, _countof(GameParameter.msParameter[2].payCoinCfg));
- m_GameDBAide.GetValue_String(TEXT("ipLimitCfg"), GameParameter.msParameter[2].ipLimitCfg, _countof(GameParameter.msParameter[2].ipLimitCfg));
- m_GameDBAide.GetValue_String(TEXT("defaultDeskCfg"), GameParameter.msParameter[2].defaultDeskCfg, _countof(GameParameter.msParameter[2].defaultDeskCfg));
- GameParameter.msParameter[2].idNum = m_GameDBAide.GetValue_DWORD(TEXT("idNum"));
- }
- else if (4 == idNum)
- {
- m_GameDBAide.GetValue_String(TEXT("gameTypeCfg"), GameParameter.msParameter[3].szgameTypeCfg, _countof(GameParameter.msParameter[3].szgameTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("diJinCfg"), GameParameter.msParameter[3].diJinCfg, _countof(GameParameter.msParameter[3].diJinCfg));
- m_GameDBAide.GetValue_String(TEXT("payTypeCfg"), GameParameter.msParameter[3].payTypeCfg, _countof(GameParameter.msParameter[3].payTypeCfg));
- m_GameDBAide.GetValue_String(TEXT("juShuCfg"), GameParameter.msParameter[3].juShuCfg, _countof(GameParameter.msParameter[3].juShuCfg));
- m_GameDBAide.GetValue_String(TEXT("payCoinCfg"), GameParameter.msParameter[3].payCoinCfg, _countof(GameParameter.msParameter[3].payCoinCfg));
- m_GameDBAide.GetValue_String(TEXT("ipLimitCfg"), GameParameter.msParameter[3].ipLimitCfg, _countof(GameParameter.msParameter[3].ipLimitCfg));
- m_GameDBAide.GetValue_String(TEXT("defaultDeskCfg"), GameParameter.msParameter[3].defaultDeskCfg, _countof(GameParameter.msParameter[3].defaultDeskCfg));
- GameParameter.msParameter[3].idNum = m_GameDBAide.GetValue_DWORD(TEXT("idNum"));
- }
-
- //移动记录
- m_GameDBModule->MoveToNext();
- }
-
- //发送信息
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_PARAMETER, dwContextID, &GameParameter, sizeof(GameParameter));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LoadParameter ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LoadParameter ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- ////加载列表
- //bool CDataBaseEngineSink::OnRequestLoadGameColumn(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadGameColumn"), TraceLevel_Debug);
- // CTimer Start;
- //
- // try
- // {
- // //变量定义
- // DBO_GR_GameColumnInfo GameColumnInfo;
- // ZeroMemory(&GameColumnInfo, sizeof(GameColumnInfo));
- //
- // //执行查询
- // m_GameDBAide.ResetParameter();
- // GameColumnInfo.lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_GameColumnItem"), true);
- //
- // //读取信息
- // for (WORD i = 0; i < CountArray(GameColumnInfo.ColumnItemInfo); i++)
- // {
- // //结束判断
- // if (m_GameDBModule->IsRecordsetEnd() == true) break;
- //
- // //溢出效验
- // ASSERT(GameColumnInfo.cbColumnCount < CountArray(GameColumnInfo.ColumnItemInfo));
- // if (GameColumnInfo.cbColumnCount >= CountArray(GameColumnInfo.ColumnItemInfo)) break;
- //
- // //读取数据
- // GameColumnInfo.cbColumnCount++;
- // GameColumnInfo.ColumnItemInfo[i].cbColumnWidth = m_GameDBAide.GetValue_BYTE(TEXT("ColumnWidth"));
- // GameColumnInfo.ColumnItemInfo[i].cbDataDescribe = m_GameDBAide.GetValue_BYTE(TEXT("DataDescribe"));
- // m_GameDBAide.GetValue_String(TEXT("ColumnName"), GameColumnInfo.ColumnItemInfo[i].szColumnName, CountArray(GameColumnInfo.ColumnItemInfo[i].szColumnName));
- //
- // //移动记录
- // m_GameDBModule->MoveToNext();
- // }
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GameColumnInfo) - sizeof(GameColumnInfo.ColumnItemInfo);
- // WORD wPacketSize = wHeadSize + GameColumnInfo.cbColumnCount * sizeof(GameColumnInfo.ColumnItemInfo[0]);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_COLUMN_INFO, dwContextID, &GameColumnInfo, wPacketSize);
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_GameColumnItem ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //变量定义
- // DBO_GR_GameColumnInfo GameColumnInfo;
- // ZeroMemory(&GameColumnInfo, sizeof(GameColumnInfo));
- //
- // //构造变量
- // GameColumnInfo.cbColumnCount = 0L;
- // GameColumnInfo.lResultCode = pIException->GetExceptionResult();
- //
- // //发送信息
- // WORD wPacketSize = sizeof(GameColumnInfo) - sizeof(GameColumnInfo.ColumnItemInfo);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_COLUMN_INFO, dwContextID, &GameColumnInfo, wPacketSize);
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_GameColumnItem ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- ////加载机器
- //bool CDataBaseEngineSink::OnRequestLoadAndroidUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadAndroidUser"), TraceLevel_Debug);
- // //参数校验
- // ASSERT(sizeof(DBR_GR_LoadAndroidUser) == wDataSize);
- // if (sizeof(DBR_GR_LoadAndroidUser) != wDataSize) return false;
- // CTimer Start;
- // try
- // {
- // //提取变量
- // DBR_GR_LoadAndroidUser * pLoadAndroidUser = (DBR_GR_LoadAndroidUser *)pData;
- // if (pLoadAndroidUser == NULL) return false;
- //
- // //变量定义
- // DBO_GR_GameAndroidInfo GameAndroidInfo;
- // ZeroMemory(&GameAndroidInfo, sizeof(GameAndroidInfo));
- //
- // //设置批次
- // GameAndroidInfo.dwBatchID = pLoadAndroidUser->dwBatchID;
- //
- // //用户帐户
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_TreasureDBAide.AddParameter(TEXT("@dwBatchID"), pLoadAndroidUser->dwBatchID);
- // m_TreasureDBAide.AddParameter(TEXT("@dwAndroidCount"), pLoadAndroidUser->dwAndroidCount);
- //
- // //执行查询
- // GameAndroidInfo.lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_LoadAndroidUser"), true);
- //
- // //读取信息
- // for (WORD i = 0; i < CountArray(GameAndroidInfo.AndroidAccountsInfo); i++)
- // {
- // //结束判断
- // if (m_TreasureDBModule->IsRecordsetEnd() == true) break;
- //
- // //溢出效验
- // ASSERT(GameAndroidInfo.wAndroidCount < CountArray(GameAndroidInfo.AndroidAccountsInfo));
- // if (GameAndroidInfo.wAndroidCount >= CountArray(GameAndroidInfo.AndroidAccountsInfo)) break;
- //
- // //读取数据
- // GameAndroidInfo.wAndroidCount++;
- // GameAndroidInfo.AndroidAccountsInfo[i].dwUserID = m_TreasureDBAide.GetValue_DWORD(TEXT("UserID"));
- // m_TreasureDBAide.GetValue_String(TEXT("LogonPass"), GameAndroidInfo.AndroidAccountsInfo[i].szPassword, CountArray(GameAndroidInfo.AndroidAccountsInfo[i].szPassword));
- //
- // //移动记录
- // m_TreasureDBModule->MoveToNext();
- // }
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GameAndroidInfo) - sizeof(GameAndroidInfo.AndroidAccountsInfo);
- // WORD wDataSize = GameAndroidInfo.wAndroidCount * sizeof(GameAndroidInfo.AndroidAccountsInfo[0]);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_ANDROID_INFO, dwContextID, &GameAndroidInfo, wHeadSize + wDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadAndroidUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //变量定义
- // DBO_GR_GameAndroidInfo GameAndroidInfo;
- // ZeroMemory(&GameAndroidInfo, sizeof(GameAndroidInfo));
- //
- // //构造变量
- // GameAndroidInfo.wAndroidCount = 0L;
- // GameAndroidInfo.lResultCode = DB_ERROR;
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GameAndroidInfo) - sizeof(GameAndroidInfo.AndroidAccountsInfo);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_ANDROID_INFO, dwContextID, &GameAndroidInfo, wHeadSize);
- // }
- //
- // return false;
- //}
- //
- ////加载机器
- //bool CDataBaseEngineSink::OnRequestLoadAndroidParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadAndroidParameter"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //变量定义
- // DBO_GR_GameAndroidParameter GameAndroidParameter;
- // ZeroMemory(&GameAndroidParameter, sizeof(GameAndroidParameter));
- //
- // //用户帐户
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceAttrib->wKindID);
- // m_TreasureDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- //
- // //执行查询
- // GameAndroidParameter.lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_LoadAndroidConfigure"), true);
- //
- // //读取信息
- // for (WORD i = 0; i < CountArray(GameAndroidParameter.AndroidParameter); i++)
- // {
- // //结束判断
- // if (m_TreasureDBModule->IsRecordsetEnd() == true) break;
- //
- // //溢出效验
- // ASSERT(GameAndroidParameter.wParameterCount < CountArray(GameAndroidParameter.AndroidParameter));
- // if (GameAndroidParameter.wParameterCount >= CountArray(GameAndroidParameter.AndroidParameter)) break;
- //
- // //读取数据
- // GameAndroidParameter.wParameterCount++;
- // GameAndroidParameter.AndroidParameter[i].dwBatchID = m_TreasureDBAide.GetValue_DWORD(TEXT("BatchID"));
- // GameAndroidParameter.AndroidParameter[i].dwServiceMode = m_TreasureDBAide.GetValue_DWORD(TEXT("ServiceMode"));
- // GameAndroidParameter.AndroidParameter[i].dwAndroidCount = m_TreasureDBAide.GetValue_DWORD(TEXT("AndroidCount"));
- // GameAndroidParameter.AndroidParameter[i].dwEnterTime = m_TreasureDBAide.GetValue_DWORD(TEXT("EnterTime"));
- // GameAndroidParameter.AndroidParameter[i].dwLeaveTime = m_TreasureDBAide.GetValue_DWORD(TEXT("LeaveTime"));
- // GameAndroidParameter.AndroidParameter[i].lTakeMinScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("TakeMinScore"));
- // GameAndroidParameter.AndroidParameter[i].lTakeMaxScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("TakeMaxScore"));
- // GameAndroidParameter.AndroidParameter[i].dwEnterMinInterval = m_TreasureDBAide.GetValue_DWORD(TEXT("EnterMinInterval"));
- // GameAndroidParameter.AndroidParameter[i].dwEnterMaxInterval = m_TreasureDBAide.GetValue_DWORD(TEXT("EnterMaxInterval"));
- // GameAndroidParameter.AndroidParameter[i].dwLeaveMinInterval = m_TreasureDBAide.GetValue_DWORD(TEXT("LeaveMinInterval"));
- // GameAndroidParameter.AndroidParameter[i].dwLeaveMaxInterval = m_TreasureDBAide.GetValue_DWORD(TEXT("LeaveMaxInterval"));
- // GameAndroidParameter.AndroidParameter[i].dwSwitchMinInnings = m_TreasureDBAide.GetValue_DWORD(TEXT("SwitchMinInnings"));
- // GameAndroidParameter.AndroidParameter[i].dwSwitchMaxInnings = m_TreasureDBAide.GetValue_DWORD(TEXT("SwitchMaxInnings"));
- //
- // //移动记录
- // m_TreasureDBModule->MoveToNext();
- // }
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GameAndroidParameter) - sizeof(GameAndroidParameter.AndroidParameter);
- // WORD wDataSize = GameAndroidParameter.wParameterCount * sizeof(GameAndroidParameter.AndroidParameter[0]);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_ANDROID_PARAMETER, dwContextID, &GameAndroidParameter, wHeadSize + wDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadAndroidConfigure ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //变量定义
- // DBO_GR_GameAndroidParameter GameAndroidParameter;
- // ZeroMemory(&GameAndroidParameter, sizeof(GameAndroidParameter));
- //
- // //构造变量
- // GameAndroidParameter.wParameterCount = 0L;
- // GameAndroidParameter.lResultCode = DB_ERROR;
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GameAndroidParameter) - sizeof(GameAndroidParameter.AndroidParameter);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_ANDROID_PARAMETER, dwContextID, &GameAndroidParameter, wHeadSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadAndroidConfigure ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // }
- //
- // return false;
- //}
- //
- //加载道具
- //bool CDataBaseEngineSink::OnRequestLoadGameProperty(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadGameProperty"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //变量定义
- // DBO_GR_GamePropertyInfo GamePropertyInfo;
- // ZeroMemory(&GamePropertyInfo, sizeof(GamePropertyInfo));
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- //
- // //执行查询
- // GamePropertyInfo.lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LoadGameProperty"), true);
- //
- // //读取信息
- // for (WORD i = 0; i < CountArray(GamePropertyInfo.PropertyInfo); i++)
- // {
- // //结束判断
- // if (m_GameDBModule->IsRecordsetEnd() == true) break;
- //
- // //溢出效验
- // ASSERT(GamePropertyInfo.cbPropertyCount < CountArray(GamePropertyInfo.PropertyInfo));
- // if (GamePropertyInfo.cbPropertyCount >= CountArray(GamePropertyInfo.PropertyInfo)) break;
- //
- // //读取数据
- // GamePropertyInfo.cbPropertyCount++;
- // GamePropertyInfo.PropertyInfo[i].wIndex = m_GameDBAide.GetValue_WORD(TEXT("ID"));
- // GamePropertyInfo.PropertyInfo[i].wDiscount = m_GameDBAide.GetValue_WORD(TEXT("Discount"));
- // GamePropertyInfo.PropertyInfo[i].wIssueArea = m_GameDBAide.GetValue_WORD(TEXT("IssueArea"));
- // GamePropertyInfo.PropertyInfo[i].dPropertyCash = m_GameDBAide.GetValue_DOUBLE(TEXT("Cash"));
- // GamePropertyInfo.PropertyInfo[i].lPropertyGold = m_GameDBAide.GetValue_LONGLONG(TEXT("Gold"));
- // GamePropertyInfo.PropertyInfo[i].lSendLoveLiness = m_GameDBAide.GetValue_LONGLONG(TEXT("SendLoveLiness"));
- // GamePropertyInfo.PropertyInfo[i].lRecvLoveLiness = m_GameDBAide.GetValue_LONGLONG(TEXT("RecvLoveLiness"));
- //
- // //移动记录
- // m_GameDBModule->MoveToNext();
- // }
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GamePropertyInfo) - sizeof(GamePropertyInfo.PropertyInfo);
- // WORD wDataSize = GamePropertyInfo.cbPropertyCount * sizeof(GamePropertyInfo.PropertyInfo[0]);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_PROPERTY_INFO, dwContextID, &GamePropertyInfo, wHeadSize + wDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadGameProperty ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //变量定义
- // DBO_GR_GamePropertyInfo GamePropertyInfo;
- // ZeroMemory(&GamePropertyInfo, sizeof(GamePropertyInfo));
- //
- // //构造变量
- // GamePropertyInfo.cbPropertyCount = 0L;
- // GamePropertyInfo.lResultCode = DB_ERROR;
- //
- // //发送信息
- // WORD wHeadSize = sizeof(GamePropertyInfo) - sizeof(GamePropertyInfo.PropertyInfo);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_PROPERTY_INFO, dwContextID, &GamePropertyInfo, wHeadSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadGameProperty ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- ////开通银行
- //bool CDataBaseEngineSink::OnRequestUserEnableInsure(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUserEnableInsure"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_UserEnableInsure));
- // if (wDataSize != sizeof(DBR_GR_UserEnableInsure)) return false;
- //
- // //请求处理
- // DBR_GR_UserEnableInsure * pUserEnableInsure = (DBR_GR_UserEnableInsure *)pData;
- //
- // //设置标识
- // dwUserID = pUserEnableInsure->dwUserID;
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pUserEnableInsure->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pUserEnableInsure->dwUserID);
- // m_TreasureDBAide.AddParameter(TEXT("@strLogonPass"), pUserEnableInsure->szLogonPass);
- // m_TreasureDBAide.AddParameter(TEXT("@strInsurePass"), pUserEnableInsure->szInsurePass);
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pUserEnableInsure->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行查询
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_UserEnableInsure"), true);
- //
- // //结果处理
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //构造对象
- // DBO_GR_UserInsureEnableResult UserEnableInsureResult;
- // ZeroMemory(&UserEnableInsureResult, sizeof(UserEnableInsureResult));
- //
- // //设置变量
- // UserEnableInsureResult.cbActivityGame = pUserEnableInsure->cbActivityGame;
- // UserEnableInsureResult.cbInsureEnabled = (lResultCode == DB_SUCCESS) ? TRUE : FALSE;
- // lstrcpyn(UserEnableInsureResult.szDescribeString, CW2CT(DBVarValue.bstrVal), CountArray(UserEnableInsureResult.szDescribeString));
- //
- // //发送结果
- // WORD wDataSize = CountStringBuffer(UserEnableInsureResult.szDescribeString);
- // WORD wHeadSize = sizeof(UserEnableInsureResult) - sizeof(UserEnableInsureResult.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_USER_INSURE_ENABLE_RESULT, dwContextID, &UserEnableInsureResult, wHeadSize + wDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserEnableInsure ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造对象
- // DBO_GR_UserInsureEnableResult UserEnableInsureResult;
- // ZeroMemory(&UserEnableInsureResult, sizeof(UserEnableInsureResult));
- //
- // //请求处理
- // DBR_GR_UserEnableInsure * pUserEnableInsure = (DBR_GR_UserEnableInsure *)pData;
- //
- // //设置变量
- // UserEnableInsureResult.cbInsureEnabled = FALSE;
- // UserEnableInsureResult.cbActivityGame = pUserEnableInsure->cbActivityGame;
- // lstrcpyn(UserEnableInsureResult.szDescribeString, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(UserEnableInsureResult.szDescribeString));
- //
- // //发送结果
- // WORD wDataSize = CountStringBuffer(UserEnableInsureResult.szDescribeString);
- // WORD wHeadSize = sizeof(UserEnableInsureResult) - sizeof(UserEnableInsureResult.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_USER_INSURE_ENABLE_RESULT, dwContextID, &UserEnableInsureResult, wHeadSize + wDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserEnableInsure ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
- //
-
- //直接扣除元宝
- bool CDataBaseEngineSink::OnRequestUserCheckBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUserCheckBeans"), TraceLevel_Debug);
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_UserReduceBeans));
- if (wDataSize != sizeof(DBR_GR_UserReduceBeans)) return false;
- CTimer Start;
- //变量定义
- DBR_GR_UserReduceBeans * pInfo = (DBR_GR_UserReduceBeans *)pData;
- dwUserID = pInfo->dwUserID;
-
- //请求处理
- try
- {
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pInfo->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pInfo->dwUserID);
- m_TreasureDBAide.AddParameter(TEXT("@ConsumeCurrency"), pInfo->ConsumeCurrency);
- m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pInfo->szMachineID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_CheckBeans"), true);
-
- if (lResultCode == 0)
- {
- //结果处理
- DWORD CurrBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("CurrBeans"));
- DWORD LockBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("LockCurrency"));
-
- DBO_GR_UserReduceResult result;
- result.result = lResultCode;
- result.dwCurrBeans = CurrBeans;
- result.dwLockBeans = LockBeans;
- result.dwTable = pInfo->dwTableID;
- result.dwUserID = pInfo->dwUserID;
- result.dwActiveBeans = pInfo->ConsumeCurrency;
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_CHECK_BEANS_RETURN, dwContextID, &result, sizeof(result));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_CheckBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //错误信息
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- DBO_GR_UserCheckResult result;
- result.result = 100;
- lstrcpy(result.szDescribeString, pIException->GetExceptionDescribe());
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_CHECK_BEANS_RETURN, dwContextID, &result, sizeof(result));
- //错误处理
- //OnInsureDisposeResult(dwContextID, DB_ERROR, pUserSaveScore->lSaveScore, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserSaveScore->cbActivityGame);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("异常存储过程耗时 GSP_GR_CheckBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时异常 GSP_GR_CheckBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- CString csTemp;
- csTemp.Format(_T("[%d]直接扣除元宝失败 需要扣除:%d"), pInfo->dwUserID, pInfo->ConsumeCurrency);
-
- //提示消息
- CTraceService::TraceString(csTemp, TraceLevel_Warning);
- return false;
- }
-
- return true;
- }
-
-
- //消耗元宝
- bool CDataBaseEngineSink::OnRequestUserReduceBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT(" CDataBaseEngineSink::OnRequestUserReduceBeans"), TraceLevel_Debug);
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_UserReduceBeans));
- if (wDataSize != sizeof(DBR_GR_UserReduceBeans)) return false;
- CTimer Start;
- //变量定义
- DBR_GR_UserReduceBeans * pInfo = (DBR_GR_UserReduceBeans *)pData;
- dwUserID = pInfo->dwUserID;
-
- //请求处理
- try
- {
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pInfo->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pInfo->dwUserID);
- m_TreasureDBAide.AddParameter(TEXT("@ConsumeCurrency"), pInfo->ConsumeCurrency);
- m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pInfo->szMachineID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_ReduceBeans"), true);
-
- //结果处理
- DWORD CurrBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("CurrBeans"));
- DWORD LockBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("LockCurrency"));
-
- DBO_GR_UserReduceResult result;
- result.result = lResultCode;
- result.dwCurrBeans = CurrBeans;
- result.dwLockBeans = LockBeans;
- result.dwTable = pInfo->dwTableID;
- result.dwUserID = pInfo->dwUserID;
- result.dwActiveBeans = pInfo->ConsumeCurrency;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_REDUCE_BEANS_RETURN, dwContextID, &result, sizeof(result));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_ReduceBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_ReduceBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //错误信息
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- DBO_GR_UserReduceResult result;
- result.result = 100;
- lstrcpy(result.szDescribeString, pIException->GetExceptionDescribe());
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_REDUCE_BEANS_RETURN, dwContextID, &result, sizeof(result));
- //错误处理
- //OnInsureDisposeResult(dwContextID, DB_ERROR, pInfo->lSaveScore, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserSaveScore->cbActivityGame);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_ReduceBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时异常 GSP_GR_ReduceBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- //冻结元宝
- bool CDataBaseEngineSink::OnRequestUserLockBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT(" CDataBaseEngineSink::OnRequestUserLockBeans"), TraceLevel_Debug);
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_UserReduceBeans));
- if (wDataSize != sizeof(DBR_GR_UserReduceBeans)) return false;
-
- //变量定义
- DBR_GR_UserReduceBeans * pInfo = (DBR_GR_UserReduceBeans *)pData;
- dwUserID = pInfo->dwUserID;
- CTimer Start;
- //请求处理
- try
- {
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pInfo->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pInfo->dwUserID);
- m_TreasureDBAide.AddParameter(TEXT("@ConsumeCurrency"), pInfo->ConsumeCurrency);
- m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pInfo->szMachineID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_LockBeans"), true);
-
- //结果处理
- DWORD CurrBeans = 0;
- DWORD LockBeans = 0;
-
- if (lResultCode == 0)
- {
- CurrBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("CurrBeans"));
- LockBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("LockCurrency"));
- }
-
- DBO_GR_UserReduceResult result;
- result.result = lResultCode;
- result.dwCurrBeans = CurrBeans;
- result.dwLockBeans = LockBeans;
- result.dwActiveBeans = pInfo->ConsumeCurrency;
- result.dwTable = pInfo->dwTableID;
- result.dwUserID = pInfo->dwUserID;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_LUCK_BEANS_RETURN, dwContextID, &result, sizeof(result));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //错误信息
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- DBO_GR_UserReduceResult result;
- result.result = 100;
- lstrcpy(result.szDescribeString, pIException->GetExceptionDescribe());
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_LUCK_BEANS_RETURN, dwContextID, &result, sizeof(result));
- //错误处理
- //OnInsureDisposeResult(dwContextID, DB_ERROR, pInfo->lSaveScore, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserSaveScore->cbActivityGame);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时异常 GSP_GR_LockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
- //解冻元宝
- bool CDataBaseEngineSink::OnRequestUserUnLockBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT(" CDataBaseEngineSink::OnRequestUserUnLockBeans"), TraceLevel_Debug);
- //效验参数
- ASSERT(wDataSize == sizeof(DBR_GR_UserReduceBeans));
- if (wDataSize != sizeof(DBR_GR_UserReduceBeans)) return false;
-
- //变量定义
- DBR_GR_UserReduceBeans * pInfo = (DBR_GR_UserReduceBeans *)pData;
- dwUserID = pInfo->dwUserID;
- CTimer Start;
- //请求处理
- try
- {
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pInfo->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pInfo->dwUserID);
- m_TreasureDBAide.AddParameter(TEXT("@ConsumeCurrency"), pInfo->ConsumeCurrency);
- m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pInfo->szMachineID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_UnLockBeans"), true);
-
- //结果处理
- DWORD CurrBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("CurrBeans"));
- DWORD LockBeans = m_TreasureDBAide.GetValue_DWORD(TEXT("LockCurrency"));
-
- DBO_GR_UserReduceResult result;
- result.result = lResultCode;
- result.dwCurrBeans = CurrBeans;
- result.dwLockBeans = LockBeans;
- result.dwActiveBeans = pInfo->ConsumeCurrency;
- result.dwUserID = pInfo->dwUserID;
- result.dwTable = pInfo->dwTableID;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_UNLUCK_BEANS_RETURN, dwContextID, &result, sizeof(result));
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_UnLockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_UnLockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //错误信息
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- DBO_GR_UserReduceResult result;
- result.result = 100;
- lstrcpy(result.szDescribeString, pIException->GetExceptionDescribe());
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_UNLUCK_BEANS_RETURN, dwContextID, &result, sizeof(result));
- //错误处理
- //OnInsureDisposeResult(dwContextID, DB_ERROR, pInfo->lSaveScore, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserSaveScore->cbActivityGame);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_UnLockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时异常 GSP_GR_UnLockBeans ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return false;
- }
-
- return true;
- }
-
- ////存入游戏币
- //bool CDataBaseEngineSink::OnRequestUserSaveScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUserSaveScore"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_UserSaveScore));
- // if (wDataSize != sizeof(DBR_GR_UserSaveScore)) return false;
- // CTimer Start;
- // //变量定义
- // DBR_GR_UserSaveScore * pUserSaveScore = (DBR_GR_UserSaveScore *)pData;
- // dwUserID = pUserSaveScore->dwUserID;
- //
- // //请求处理
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pUserSaveScore->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pUserSaveScore->dwUserID);
- // m_TreasureDBAide.AddParameter(TEXT("@lSaveScore"), pUserSaveScore->lSaveScore);
- // m_TreasureDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_TreasureDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pUserSaveScore->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行查询
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_UserSaveScore"), true);
- //
- // //结果处理
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- // OnInsureDisposeResult(dwContextID, lResultCode, pUserSaveScore->lSaveScore, CW2CT(DBVarValue.bstrVal), false, pUserSaveScore->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserSaveScore ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, pUserSaveScore->lSaveScore, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserSaveScore->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserSaveScore ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////提取游戏币
- //bool CDataBaseEngineSink::OnRequestUserTakeScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUserTakeScore"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_UserTakeScore));
- // if (wDataSize != sizeof(DBR_GR_UserTakeScore)) return false;
- //
- // //变量定义
- // DBR_GR_UserTakeScore * pUserTakeScore = (DBR_GR_UserTakeScore *)pData;
- // dwUserID = pUserTakeScore->dwUserID;
- // CTimer Start;
- // //请求处理
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pUserTakeScore->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pUserTakeScore->dwUserID);
- // m_TreasureDBAide.AddParameter(TEXT("@lTakeScore"), pUserTakeScore->lTakeScore);
- // m_TreasureDBAide.AddParameter(TEXT("@strPassword"), pUserTakeScore->szPassword);
- // m_TreasureDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_TreasureDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pUserTakeScore->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行查询
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_UserTakeScore"), true);
- //
- // //结果处理
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- // OnInsureDisposeResult(dwContextID, lResultCode, 0L, CW2CT(DBVarValue.bstrVal), false, pUserTakeScore->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserTakeScore ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserTakeScore->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserTakeScore ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////转帐游戏币
- //bool CDataBaseEngineSink::OnRequestUserTransferScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUserTransferScore"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_UserTransferScore));
- // if (wDataSize != sizeof(DBR_GR_UserTransferScore)) return false;
- //
- // //变量定义
- // DBR_GR_UserTransferScore * pUserTransferScore = (DBR_GR_UserTransferScore *)pData;
- // dwUserID = pUserTransferScore->dwUserID;
- // CTimer Start;
- // //请求处理
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pUserTransferScore->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pUserTransferScore->dwUserID);
- // m_TreasureDBAide.AddParameter(TEXT("@lTransferScore"), pUserTransferScore->lTransferScore);
- // m_TreasureDBAide.AddParameter(TEXT("@strPassword"), pUserTransferScore->szPassword);
- // m_TreasureDBAide.AddParameter(TEXT("@strNickName"), pUserTransferScore->szAccounts);
- // m_TreasureDBAide.AddParameter(TEXT("@strTransRemark"), pUserTransferScore->szTransRemark);
- // m_TreasureDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_TreasureDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pUserTransferScore->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行查询
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_UserTransferScore"), true);
- //
- // //结果处理
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- // OnInsureDisposeResult(dwContextID, lResultCode, 0L, CW2CT(DBVarValue.bstrVal), false, pUserTransferScore->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserTransferScore ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false, pUserTransferScore->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserTransferScore ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////查询银行
- //bool CDataBaseEngineSink::OnRequestQueryInsureInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestQueryInsureInfo"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_QueryInsureInfo));
- // if (wDataSize != sizeof(DBR_GR_QueryInsureInfo)) return false;
- // CTimer Start;
- // //请求处理
- // DBR_GR_QueryInsureInfo * pQueryInsureInfo = (DBR_GR_QueryInsureInfo *)pData;
- // dwUserID = pQueryInsureInfo->dwUserID;
- //
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pQueryInsureInfo->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pQueryInsureInfo->dwUserID);
- // m_TreasureDBAide.AddParameter(TEXT("@strPassword"), pQueryInsureInfo->szPassword);
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //结果处理
- // if (m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_QueryUserInsureInfo"), true) == DB_SUCCESS)
- // {
- // //变量定义
- // DBO_GR_UserInsureInfo UserInsureInfo;
- // ZeroMemory(&UserInsureInfo, sizeof(UserInsureInfo));
- //
- // //银行信息
- // UserInsureInfo.cbActivityGame = pQueryInsureInfo->cbActivityGame;
- // UserInsureInfo.cbEnjoinTransfer = m_TreasureDBAide.GetValue_BYTE(TEXT("EnjoinTransfer"));
- // UserInsureInfo.wRevenueTake = m_TreasureDBAide.GetValue_WORD(TEXT("RevenueTake"));
- // UserInsureInfo.wRevenueTransfer = m_TreasureDBAide.GetValue_WORD(TEXT("RevenueTransfer"));
- // UserInsureInfo.wRevenueTransferMember = m_TreasureDBAide.GetValue_WORD(TEXT("RevenueTransferMember"));
- // UserInsureInfo.wServerID = m_TreasureDBAide.GetValue_WORD(TEXT("ServerID"));
- // UserInsureInfo.lUserScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("Score"));
- // UserInsureInfo.lUserInsure = m_TreasureDBAide.GetValue_LONGLONG(TEXT("Insure"));
- // UserInsureInfo.lTransferPrerequisite = m_TreasureDBAide.GetValue_LONGLONG(TEXT("TransferPrerequisite"));
- //
- // //发送结果
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_USER_INSURE_INFO, dwContextID, &UserInsureInfo, sizeof(UserInsureInfo));
- // }
- // else
- // {
- // //获取参数
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, m_TreasureDBAide.GetReturnValue(), 0L, CW2CT(DBVarValue.bstrVal), false, pQueryInsureInfo->cbActivityGame);
- // }
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_QueryUserInsureInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //结果处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false, pQueryInsureInfo->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_QueryUserInsureInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////查询用户
- //bool CDataBaseEngineSink::OnRequestQueryTransferUserInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestQueryTransferUserInfo"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_QueryTransferUserInfo));
- // if (wDataSize != sizeof(DBR_GR_QueryTransferUserInfo)) return false;
- //
- // //请求处理
- // DBR_GR_QueryTransferUserInfo * pQueryTransferUserInfo = (DBR_GR_QueryTransferUserInfo *)pData;
- // dwUserID = pQueryTransferUserInfo->dwUserID;
- // CTimer Start;
- // try
- // {
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@cbByNickName"), pQueryTransferUserInfo->cbByNickName);
- // m_TreasureDBAide.AddParameter(TEXT("@strAccounts"), pQueryTransferUserInfo->szAccounts);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //结果处理
- // if (m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_QueryTransferUserInfo"), true) == DB_SUCCESS)
- // {
- // //变量定义
- // DBO_GR_UserTransferUserInfo TransferUserInfo;
- // ZeroMemory(&TransferUserInfo, sizeof(TransferUserInfo));
- //
- // //银行信息
- // TransferUserInfo.cbActivityGame = pQueryTransferUserInfo->cbActivityGame;
- // TransferUserInfo.dwGameID = m_TreasureDBAide.GetValue_DWORD(TEXT("GameID"));
- // m_TreasureDBAide.GetValue_String(TEXT("Accounts"), TransferUserInfo.szAccounts, CountArray(TransferUserInfo.szAccounts));
- //
- // //发送结果
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_USER_INSURE_USER_INFO, dwContextID, &TransferUserInfo, sizeof(TransferUserInfo));
- // }
- // else
- // {
- // //获取参数
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, m_TreasureDBAide.GetReturnValue(), 0L, CW2CT(DBVarValue.bstrVal), false, pQueryTransferUserInfo->cbActivityGame);
- // }
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_QueryTransferUserInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //结果处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false, pQueryTransferUserInfo->cbActivityGame);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_QueryTransferUserInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- ////领取任务
- //bool CDataBaseEngineSink::OnRequestTaskTake(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestTaskTake"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_TaskTake));
- // if (wDataSize != sizeof(DBR_GR_TaskTake)) return false;
- //
- // //请求处理
- // DBR_GR_TaskTake * pTaskTake = (DBR_GR_TaskTake *)pData;
- //
- // //设置变量
- // dwUserID = pTaskTake->dwUserID;
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pTaskTake->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_PlatformDBAide.ResetParameter();
- // m_PlatformDBAide.AddParameter(TEXT("@dwUserID"), pTaskTake->dwUserID);
- // m_PlatformDBAide.AddParameter(TEXT("@wTaskID"), pTaskTake->wTaskID);
- // m_PlatformDBAide.AddParameter(TEXT("@strPassword"), pTaskTake->szPassword);
- // m_PlatformDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_PlatformDBAide.AddParameter(TEXT("@strMachineID"), pTaskTake->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行脚本
- // LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_TaskTake"), false);
- //
- // //变量定义
- // DBO_GR_TaskResult TaskResult;
- // ZeroMemory(&TaskResult, sizeof(TaskResult));
- //
- // //获取参数
- // CDBVarValue DBVarValue;
- // m_PlatformDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //银行信息
- // TaskResult.wCommandID = SUB_GR_TASK_TAKE;
- // TaskResult.wCurrTaskID = pTaskTake->wTaskID;
- // TaskResult.bSuccessed = lResultCode == DB_SUCCESS;
- // lstrcpyn(TaskResult.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(TaskResult.szNotifyContent));
- //
- // //发送结果
- // WORD wSendSize = sizeof(TaskResult) - sizeof(TaskResult.szNotifyContent) + CountStringBuffer(TaskResult.szNotifyContent);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_RESULT, dwContextID, &TaskResult, wSendSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_TaskTake ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_TaskResult TaskResult;
- // TaskResult.bSuccessed = false;
- // TaskResult.wCommandID = SUB_GR_TASK_TAKE;
- // lstrcpyn(TaskResult.szNotifyContent, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(TaskResult.szNotifyContent));
- //
- // //发送结果
- // WORD wSendSize = sizeof(TaskResult) - sizeof(TaskResult.szNotifyContent) + CountStringBuffer(TaskResult.szNotifyContent);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_RESULT, dwContextID, &TaskResult, wSendSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_TaskTake ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
- //
- ////领取奖励
- //bool CDataBaseEngineSink::OnRequestTaskReward(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestTaskReward"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_TaskReward));
- // if (wDataSize != sizeof(DBR_GR_TaskReward)) return false;
- //
- // //请求处理
- // DBR_GR_TaskReward * pTaskReward = (DBR_GR_TaskReward *)pData;
- //
- // //设置变量
- // dwUserID = pTaskReward->dwUserID;
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pTaskReward->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_PlatformDBAide.ResetParameter();
- // m_PlatformDBAide.AddParameter(TEXT("@dwUserID"), pTaskReward->dwUserID);
- // m_PlatformDBAide.AddParameter(TEXT("@wTaskID"), pTaskReward->wTaskID);
- // m_PlatformDBAide.AddParameter(TEXT("@strPassword"), pTaskReward->szPassword);
- // m_PlatformDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_PlatformDBAide.AddParameter(TEXT("@strMachineID"), pTaskReward->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行脚本
- // LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_TaskReward"), true);
- //
- // //变量定义
- // DBO_GR_TaskResult TaskResult;
- // ZeroMemory(&TaskResult, sizeof(TaskResult));
- //
- // //获取参数
- // CDBVarValue DBVarValue;
- // m_PlatformDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //银行信息
- // TaskResult.wCommandID = SUB_GR_TASK_REWARD;
- // TaskResult.wCurrTaskID = pTaskReward->wTaskID;
- // TaskResult.bSuccessed = lResultCode == DB_SUCCESS;
- // lstrcpyn(TaskResult.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(TaskResult.szNotifyContent));
- //
- // //获取分数
- // if (TaskResult.bSuccessed == true)
- // {
- // TaskResult.lCurrScore = m_PlatformDBAide.GetValue_LONGLONG(TEXT("Score"));
- // TaskResult.lCurrIngot = m_PlatformDBAide.GetValue_LONGLONG(TEXT("Ingot"));
- // }
- //
- // //发送结果
- // WORD wSendSize = sizeof(TaskResult) - sizeof(TaskResult.szNotifyContent) + CountStringBuffer(TaskResult.szNotifyContent);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_RESULT, dwContextID, &TaskResult, wSendSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_TaskReward ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_TaskResult TaskResult;
- // TaskResult.bSuccessed = false;
- // TaskResult.wCommandID = SUB_GR_TASK_REWARD;
- // lstrcpyn(TaskResult.szNotifyContent, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(TaskResult.szNotifyContent));
- //
- // //发送结果
- // WORD wSendSize = sizeof(TaskResult) - sizeof(TaskResult.szNotifyContent) + CountStringBuffer(TaskResult.szNotifyContent);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_RESULT, dwContextID, &TaskResult, wSendSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_TaskReward ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
-
- //加载任务
- //bool CDataBaseEngineSink::OnRequestLoadTaskList(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadTaskList"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //设置变量
- // dwUserID = 0;
- //
- // //构造参数
- // m_PlatformDBAide.ResetParameter();
- //
- // //执行命令
- // LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_LoadTaskList"), true);
- //
- // //执行成功
- // if (lResultCode == DB_SUCCESS)
- // {
- // //变量定义
- // tagTaskParameter TaskParameter;
- // BYTE cbDataBuffer[SOCKET_TCP_PACKET - 1024] = { 0 };
- // DBO_GR_TaskListInfo * pTaskListInfo = (DBO_GR_TaskListInfo *)cbDataBuffer;
- // LPBYTE pDataBuffer = cbDataBuffer + sizeof(DBO_GR_TaskListInfo);
- //
- // //设置变量
- // WORD wTaskCount = 0;
- // WORD wSendDataSize = sizeof(DBO_GR_TaskListInfo);
- //
- // //变量定义
- // while (m_PlatformDBModule->IsRecordsetEnd() == false)
- // {
- // //读取数据
- // TaskParameter.wTaskID = m_PlatformDBAide.GetValue_WORD(TEXT("TaskID"));
- // TaskParameter.wTaskType = m_PlatformDBAide.GetValue_WORD(TEXT("TaskType"));
- // TaskParameter.cbPlayerType = m_PlatformDBAide.GetValue_BYTE(TEXT("UserType"));
- // TaskParameter.wKindID = m_PlatformDBAide.GetValue_WORD(TEXT("KindID"));
- // TaskParameter.wTaskObject = m_PlatformDBAide.GetValue_WORD(TEXT("Innings"));
- // TaskParameter.dwTimeLimit = m_PlatformDBAide.GetValue_DWORD(TEXT("TimeLimit"));
- // TaskParameter.lStandardAwardGold = m_PlatformDBAide.GetValue_LONGLONG(TEXT("StandardAwardGold"));
- // TaskParameter.lStandardAwardMedal = m_PlatformDBAide.GetValue_LONGLONG(TEXT("StandardAwardMedal"));
- // TaskParameter.lMemberAwardGold = m_PlatformDBAide.GetValue_LONGLONG(TEXT("MemberAwardGold"));
- // TaskParameter.lMemberAwardMedal = m_PlatformDBAide.GetValue_LONGLONG(TEXT("MemberAwardMedal"));
- //
- // //描述信息
- // m_PlatformDBAide.GetValue_String(TEXT("TaskName"), TaskParameter.szTaskName, CountArray(TaskParameter.szTaskName));
- // m_PlatformDBAide.GetValue_String(TEXT("TaskDescription"), TaskParameter.szTaskDescribe, CountArray(TaskParameter.szTaskDescribe));
- //
- // //发送判断
- // if (wSendDataSize + sizeof(tagTaskParameter) > sizeof(cbDataBuffer))
- // {
- // //设置变量
- // pTaskListInfo->wTaskCount = wTaskCount;
- //
- // //发送数据
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_LIST, dwContextID, pTaskListInfo, wSendDataSize);
- //
- // //重置变量
- // wTaskCount = 0;
- // wSendDataSize = sizeof(DBO_GR_TaskListInfo);
- // pDataBuffer = cbDataBuffer + sizeof(DBO_GR_TaskListInfo);
- // }
- //
- // //拷贝数据
- // CopyMemory(pDataBuffer, &TaskParameter, sizeof(tagTaskParameter));
- //
- // //设置变量
- // wTaskCount++;
- // wSendDataSize += sizeof(tagTaskParameter);
- // pDataBuffer += sizeof(tagTaskParameter);
- //
- // //移动记录
- // m_PlatformDBModule->MoveToNext();
- // }
- //
- // //剩余发送
- // if (wTaskCount > 0 && wSendDataSize > 0)
- // {
- // //设置变量
- // pTaskListInfo->wTaskCount = wTaskCount;
- //
- // //发送数据
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_LIST, dwContextID, pTaskListInfo, wSendDataSize);
- // }
- //
- // //发送通知
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_LIST_END, dwContextID, NULL, 0);
- // }
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadTaskList ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadTaskList ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- ////查询任务
- //bool CDataBaseEngineSink::OnRequestTaskQueryInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestTaskQueryInfo"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_TaskQueryInfo));
- // if (wDataSize != sizeof(DBR_GR_TaskQueryInfo)) return false;
- //
- // //请求处理
- // DBR_GR_TaskQueryInfo * pTaskQueryInfo = (DBR_GR_TaskQueryInfo *)pData;
- //
- // //设置变量
- // dwUserID = pTaskQueryInfo->dwUserID;
- //
- // //构造参数
- // m_PlatformDBAide.ResetParameter();
- // m_PlatformDBAide.AddParameter(TEXT("@wKindID"), 0);
- // m_PlatformDBAide.AddParameter(TEXT("@dwUserID"), pTaskQueryInfo->dwUserID);
- // m_PlatformDBAide.AddParameter(TEXT("@strPassword"), pTaskQueryInfo->szPassword);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行脚本
- // LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_QueryTaskInfo"), true);
- //
- // //执行成功
- // if (lResultCode == DB_SUCCESS)
- // {
- // //变量定义
- // DBO_GR_TaskInfo TaskInfo;
- // tagTaskStatus * pTaskStatus = NULL;
- // ZeroMemory(&TaskInfo, sizeof(TaskInfo));
- //
- // //变量定义
- // while (m_PlatformDBModule->IsRecordsetEnd() == false)
- // {
- // //设置变量
- // pTaskStatus = &TaskInfo.TaskStatus[TaskInfo.wTaskCount++];
- //
- // //读取数据
- // pTaskStatus->wTaskID = m_PlatformDBAide.GetValue_WORD(TEXT("TaskID"));
- // pTaskStatus->cbTaskStatus = m_PlatformDBAide.GetValue_BYTE(TEXT("TaskStatus"));
- // pTaskStatus->wTaskProgress = m_PlatformDBAide.GetValue_WORD(TEXT("Progress"));
- //
- // //移动记录
- // m_PlatformDBModule->MoveToNext();
- // }
- //
- // //发送结果
- // WORD wSendDataSize = sizeof(TaskInfo) - sizeof(TaskInfo.TaskStatus);
- // wSendDataSize += sizeof(TaskInfo.TaskStatus[0])*TaskInfo.wTaskCount;
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_INFO, dwContextID, &TaskInfo, wSendDataSize);
- // }
- // else
- // {
- // //变量定义
- // DBO_GR_TaskResult TaskResult;
- // ZeroMemory(&TaskResult, sizeof(TaskResult));
- //
- // //获取参数
- // CDBVarValue DBVarValue;
- // m_PlatformDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //银行信息
- // TaskResult.bSuccessed = false;
- // TaskResult.wCommandID = SUB_GR_TASK_LOAD_INFO;
- // lstrcpyn(TaskResult.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(TaskResult.szNotifyContent));
- //
- // //发送结果
- // WORD wSendSize = sizeof(TaskResult) - sizeof(TaskResult.szNotifyContent) + CountStringBuffer(TaskResult.szNotifyContent);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_RESULT, dwContextID, &TaskResult, wSendSize);
- // }
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_QueryTaskInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_TaskResult TaskResult;
- // TaskResult.bSuccessed = false;
- // TaskResult.wCommandID = SUB_GR_TASK_LOAD_INFO;
- // lstrcpyn(TaskResult.szNotifyContent, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(TaskResult.szNotifyContent));
- //
- // //发送结果
- // WORD wSendSize = sizeof(TaskResult) - sizeof(TaskResult.szNotifyContent) + CountStringBuffer(TaskResult.szNotifyContent);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TASK_RESULT, dwContextID, &TaskResult, wSendSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_QueryTaskInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
-
-
- ////会员参数
- //bool CDataBaseEngineSink::OnRequestLoadMemberParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadMemberParameter"), TraceLevel_Debug);
- // CTimer Start;
- //
- // try
- // {
- // //设置变量
- // dwUserID = 0;
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- //
- // //执行命令
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_LoadMemberParameter"), true);
- //
- // //执行成功
- // if (lResultCode == DB_SUCCESS)
- // {
- // //变量定义
- // DBO_GR_MemberParameter MemberParameter;
- // ZeroMemory(&MemberParameter, sizeof(MemberParameter));
- //
- // //设置变量
- // WORD wMemberCount = 0;
- // tagMemberParameter * pMemberParameter = NULL;
- //
- // //变量定义
- // while (m_TreasureDBModule->IsRecordsetEnd() == false)
- // {
- // //设置变量
- // pMemberParameter = &MemberParameter.MemberParameter[MemberParameter.wMemberCount++];
- //
- // //读取数据
- // pMemberParameter->cbMemberOrder = m_TreasureDBAide.GetValue_BYTE(TEXT("MemberOrder"));
- // pMemberParameter->lMemberPrice = m_TreasureDBAide.GetValue_LONGLONG(TEXT("MemberPrice"));
- // pMemberParameter->lPresentScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("PresentScore"));
- // m_TreasureDBAide.GetValue_String(TEXT("MemberName"), pMemberParameter->szMemberName, CountArray(pMemberParameter->szMemberName));
- //
- // //移动记录
- // m_TreasureDBModule->MoveToNext();
- // }
- //
- // //发送数据
- // WORD wSendDataSize = sizeof(MemberParameter) - sizeof(MemberParameter.MemberParameter);
- // wSendDataSize += sizeof(tagMemberParameter)*MemberParameter.wMemberCount;
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GAME_MEMBER_PAREMETER, dwContextID, &MemberParameter, wSendDataSize);
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadMemberParameter ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadMemberParameter ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////购买会员
- //bool CDataBaseEngineSink::OnRequestPurchaseMember(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT(" CDataBaseEngineSink::OnRequestPurchaseMember"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_PurchaseMember));
- // if (wDataSize != sizeof(DBR_GR_PurchaseMember)) return false;
- //
- // //请求处理
- // DBR_GR_PurchaseMember * pPurchaseMember = (DBR_GR_PurchaseMember *)pData;
- //
- // //设置变量
- // dwUserID = pPurchaseMember->dwUserID;
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pPurchaseMember->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pPurchaseMember->dwUserID);
- // m_TreasureDBAide.AddParameter(TEXT("@cbMemberOrder"), pPurchaseMember->cbMemberOrder);
- // m_TreasureDBAide.AddParameter(TEXT("@PurchaseTime"), pPurchaseMember->wPurchaseTime);
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pPurchaseMember->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行脚本
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_PurchaseMember"), true);
- //
- // //构造结构
- // DBO_GR_PurchaseResult PurchaseResult;
- // ZeroMemory(&PurchaseResult, sizeof(PurchaseResult));
- //
- // //执行成功
- // if (lResultCode == DB_SUCCESS)
- // {
- // //设置变量
- // PurchaseResult.bSuccessed = true;
- //
- // //变量定义
- // if (m_TreasureDBModule->IsRecordsetEnd() == false)
- // {
- // //读取数据
- // PurchaseResult.lCurrScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("CurrScore"));
- // PurchaseResult.dwUserRight = m_TreasureDBAide.GetValue_DWORD(TEXT("UserRight"));
- // PurchaseResult.cbMemberOrder = m_TreasureDBAide.GetValue_BYTE(TEXT("MemberOrder"));
- // }
- // }
- //
- // //提示内容
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
- // lstrcpyn(PurchaseResult.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(PurchaseResult.szNotifyContent));
- //
- // //计算大小
- // WORD wSendDataSize = sizeof(PurchaseResult) - sizeof(PurchaseResult.szNotifyContent);
- // wSendDataSize += CountStringBuffer(PurchaseResult.szNotifyContent);
- //
- // //发送参数
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_PURCHASE_RESULT, dwContextID, &PurchaseResult, wSendDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_PurchaseMember ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_PurchaseResult PurchaseResult;
- // ZeroMemory(&PurchaseResult, sizeof(PurchaseResult));
- //
- // //设置变量
- // lstrcpyn(PurchaseResult.szNotifyContent, TEXT("数据库异常,请稍后再试!"), CountArray(PurchaseResult.szNotifyContent));
- //
- // //计算大小
- // WORD wSendDataSize = sizeof(PurchaseResult) - sizeof(PurchaseResult.szNotifyContent);
- // wSendDataSize += CountStringBuffer(PurchaseResult.szNotifyContent);
- //
- // //发送参数
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_PURCHASE_RESULT, dwContextID, &PurchaseResult, wSendDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_PurchaseMember ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
- //
- ////兑换游戏币
- //bool CDataBaseEngineSink::OnRequestExchangeScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_ExchangeScore));
- // if (wDataSize != sizeof(DBR_GR_ExchangeScore)) return false;
- //
- // //请求处理
- // DBR_GR_ExchangeScore * pExchangeScore = (DBR_GR_ExchangeScore *)pData;
- //
- // //设置变量
- // dwUserID = pExchangeScore->dwUserID;
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pExchangeScore->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pExchangeScore->dwUserID);
- // ///---m_TreasureDBAide.AddParameter(TEXT("@ExchangeIngot"), pExchangeScore->lExchangeIngot);
- // m_TreasureDBAide.AddParameter(TEXT("@ExchangeID"), pExchangeScore->dwExchangeID); ///兑换id
- // m_TreasureDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_TreasureDBAide.AddParameter(TEXT("@strMachineID"), pExchangeScore->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_TreasureDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行脚本
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_ExchangeScoreByID"), true);
- //
- // //构造结构
- // DBO_GR_ExchangeResult ExchangeResult;
- // ZeroMemory(&ExchangeResult, sizeof(ExchangeResult));
- //
- // ExchangeResult.bSuccessed = false;
- // //执行成功
- // if (lResultCode == DB_SUCCESS)
- // {
- // ExchangeResult.bSuccessed = true;
- // if (m_TreasureDBModule->IsRecordsetEnd() == false)
- // {
- // //读取数据
- // ExchangeResult.lCurrScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("CurrScore"));
- // ExchangeResult.lCurrIngot = m_TreasureDBAide.GetValue_LONGLONG(TEXT("CurrIngot"));
- // }
- // }
- //
- // //提示内容
- // CDBVarValue DBVarValue;
- // m_TreasureDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
- // lstrcpyn(ExchangeResult.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(ExchangeResult.szNotifyContent));
- //
- // //计算大小
- // WORD wSendDataSize = sizeof(ExchangeResult) - sizeof(ExchangeResult.szNotifyContent);
- // wSendDataSize += CountStringBuffer(ExchangeResult.szNotifyContent);
- //
- // //发送参数
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_EXCHANGE_RESULT, dwContextID, &ExchangeResult, wSendDataSize);
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- // csTest.Format(_T("存储过程耗时 GSP_GR_ExchangeScoreByID ----> %.3f "), dRet);
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_ExchangeResult ExchangeResult;
- // ZeroMemory(&ExchangeResult, sizeof(ExchangeResult));
- //
- // //设置变量
- // lstrcpyn(ExchangeResult.szNotifyContent, TEXT("数据库异常,请稍后再试!"), CountArray(ExchangeResult.szNotifyContent));
- //
- // //计算大小
- // WORD wSendDataSize = sizeof(ExchangeResult) - sizeof(ExchangeResult.szNotifyContent);
- // wSendDataSize += CountStringBuffer(ExchangeResult.szNotifyContent);
- //
- // //发送参数
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_EXCHANGE_RESULT, dwContextID, &ExchangeResult, wSendDataSize);
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- // csTest.Format(_T("存储过程耗时 GSP_GR_ExchangeScoreByID ----> %.3f "), dRet);
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
-
- //道具请求
- //bool CDataBaseEngineSink::OnRequestPropertyRequest(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestPropertyRequest"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_PropertyRequest));
- // if (wDataSize != sizeof(DBR_GR_PropertyRequest)) return false;
- //
- // //请求处理
- // DBR_GR_PropertyRequest * pPropertyRequest = (DBR_GR_PropertyRequest *)pData;
- // dwUserID = pPropertyRequest->dwSourceUserID;
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pPropertyRequest->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- //
- // //消费信息
- // m_GameDBAide.AddParameter(TEXT("@dwSourceUserID"), pPropertyRequest->dwSourceUserID);
- // m_GameDBAide.AddParameter(TEXT("@dwTargetUserID"), pPropertyRequest->dwTargetUserID);
- // m_GameDBAide.AddParameter(TEXT("@wPropertyID"), pPropertyRequest->wPropertyIndex);
- // m_GameDBAide.AddParameter(TEXT("@wPropertyCount"), pPropertyRequest->wItemCount);
- //
- // //消费区域
- // m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@wTableID"), pPropertyRequest->wTableID);
- //
- // //购买方式
- // m_GameDBAide.AddParameter(TEXT("@cbConsumeScore"), pPropertyRequest->cbConsumeScore);
- // m_GameDBAide.AddParameter(TEXT("@lFrozenedScore"), pPropertyRequest->lFrozenedScore);
- //
- // //系统信息
- // m_GameDBAide.AddParameter(TEXT("@dwEnterID"), pPropertyRequest->dwInoutIndex);
- // m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_GameDBAide.AddParameter(TEXT("@strMachineID"), pPropertyRequest->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //结果处理
- // if (m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_ConsumeProperty"), true) == DB_SUCCESS)
- // {
- // //变量定义
- // DBO_GR_S_PropertySuccess PresentSuccess;
- // ZeroMemory(&PresentSuccess, sizeof(PresentSuccess));
- //
- // //道具信息
- // PresentSuccess.cbRequestArea = pPropertyRequest->cbRequestArea;
- // PresentSuccess.wItemCount = pPropertyRequest->wItemCount;
- // PresentSuccess.wPropertyIndex = pPropertyRequest->wPropertyIndex;
- // PresentSuccess.dwSourceUserID = pPropertyRequest->dwSourceUserID;
- // PresentSuccess.dwTargetUserID = pPropertyRequest->dwTargetUserID;
- //
- // //消费模式
- // PresentSuccess.cbConsumeScore = pPropertyRequest->cbConsumeScore;
- // PresentSuccess.lFrozenedScore = pPropertyRequest->lFrozenedScore;
- //
- // //用户权限
- // PresentSuccess.dwUserRight = pPropertyRequest->dwUserRight;
- //
- // //结果信息
- // PresentSuccess.lConsumeGold = m_GameDBAide.GetValue_LONGLONG(TEXT("ConsumeGold"));
- // PresentSuccess.lSendLoveLiness = m_GameDBAide.GetValue_LONG(TEXT("SendLoveLiness"));
- // PresentSuccess.lRecvLoveLiness = m_GameDBAide.GetValue_LONG(TEXT("RecvLoveLiness"));
- // PresentSuccess.cbMemberOrder = m_GameDBAide.GetValue_BYTE(TEXT("MemberOrder"));
- //
- // //发送结果
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_PROPERTY_SUCCESS, dwContextID, &PresentSuccess, sizeof(PresentSuccess));
- // }
- // else
- // {
- // //获取参数
- // CDBVarValue DBVarValue;
- // m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- //
- // //变量定义
- // DBO_GR_PropertyFailure PropertyFailure;
- // ZeroMemory(&PropertyFailure, sizeof(PropertyFailure));
- //
- // //设置变量
- // PropertyFailure.lResultCode = m_GameDBAide.GetReturnValue();
- // PropertyFailure.lFrozenedScore = pPropertyRequest->lFrozenedScore;
- // PropertyFailure.cbRequestArea = pPropertyRequest->cbRequestArea;
- // lstrcpyn(PropertyFailure.szDescribeString, CW2CT(DBVarValue.bstrVal), CountArray(PropertyFailure.szDescribeString));
- //
- // //发送结果
- // WORD wDataSize = CountStringBuffer(PropertyFailure.szDescribeString);
- // WORD wHeadSize = sizeof(PropertyFailure) - sizeof(PropertyFailure.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_PROPERTY_FAILURE, dwContextID, &PropertyFailure, wHeadSize + wDataSize);
- // }
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_ConsumeProperty ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //变量定义
- // DBO_GR_PropertyFailure PropertyFailure;
- // ZeroMemory(&PropertyFailure, sizeof(PropertyFailure));
- //
- // //变量定义
- // DBR_GR_PropertyRequest * pPropertyRequest = (DBR_GR_PropertyRequest *)pData;
- //
- // //设置变量
- // PropertyFailure.lResultCode = DB_ERROR;
- // PropertyFailure.lFrozenedScore = pPropertyRequest->lFrozenedScore;
- // PropertyFailure.cbRequestArea = pPropertyRequest->cbRequestArea;
- // lstrcpyn(PropertyFailure.szDescribeString, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(PropertyFailure.szDescribeString));
- //
- // //发送结果
- // WORD wDataSize = CountStringBuffer(PropertyFailure.szDescribeString);
- // WORD wHeadSize = sizeof(PropertyFailure) - sizeof(PropertyFailure.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_PROPERTY_FAILURE, dwContextID, &PropertyFailure, wHeadSize + wDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_ConsumeProperty ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- ////比赛报名
- //bool CDataBaseEngineSink::OnRequestMatchSignup(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestMatchSignup"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_MatchSignup));
- // if (wDataSize != sizeof(DBR_GR_MatchSignup)) return false;
- // CTimer Start;
- // //变量定义
- // DBR_GR_MatchSignup * pMatchSignup = (DBR_GR_MatchSignup *)pData;
- // dwUserID = pMatchSignup->dwUserID;
- //
- // //请求处理
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pMatchSignup->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pMatchSignup->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@lMatchFee"), pMatchSignup->lMatchFee);
- // m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchID"), pMatchSignup->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchNo"), pMatchSignup->dwMatchNO);
- // m_GameDBAide.AddParameter(TEXT("@strMachineID"), pMatchSignup->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //结果处理
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_UserMatchFee"), true);
- //
- // //构造结构
- // DBO_GR_MatchSingupResult MatchSignupResult;
- // ZeroMemory(&MatchSignupResult, sizeof(MatchSignupResult));
- //
- // //设置变量
- // MatchSignupResult.bResultCode = lReturnValue == DB_SUCCESS;
- //
- // //读取财富
- // if (MatchSignupResult.bResultCode == true)
- // {
- // MatchSignupResult.lCurrGold = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- // MatchSignupResult.lCurrIngot = m_GameDBAide.GetValue_LONGLONG(TEXT("Ingot"));
- // }
- // else
- // {
- // //错误描述
- // CDBVarValue DBVarValue;
- // m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- // lstrcpyn(MatchSignupResult.szDescribeString, CW2CT(DBVarValue.bstrVal), CountArray(MatchSignupResult.szDescribeString));
- // }
- //
- // //发送结果
- // WORD wSendDataSize = sizeof(MatchSignupResult) - sizeof(MatchSignupResult.szDescribeString);
- // wSendDataSize += CountStringBuffer(MatchSignupResult.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_SIGNUP_RESULT, dwContextID, &MatchSignupResult, wSendDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserMatchFee ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_MatchSingupResult MatchSignupResult;
- // ZeroMemory(&MatchSignupResult, sizeof(MatchSignupResult));
- //
- // //设置变量
- // MatchSignupResult.bResultCode = false;
- // lstrcpyn(MatchSignupResult.szDescribeString, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(MatchSignupResult.szDescribeString));
- //
- // //发送结果
- // WORD wSendDataSize = sizeof(MatchSignupResult) - sizeof(MatchSignupResult.szDescribeString);
- // wSendDataSize += CountStringBuffer(MatchSignupResult.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_SIGNUP_RESULT, dwContextID, &MatchSignupResult, wSendDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserMatchFee ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////退出比赛
- //bool CDataBaseEngineSink::OnRequestMatchUnSignup(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestMatchUnSignup"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_MatchSignup));
- // if (wDataSize != sizeof(DBR_GR_MatchSignup)) return false;
- // CTimer Start;
- // //变量定义
- // DBR_GR_MatchSignup * pMatchSignup = (DBR_GR_MatchSignup *)pData;
- // dwUserID = pMatchSignup->dwUserID;
- //
- // //请求处理
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pMatchSignup->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pMatchSignup->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@lMatchFee"), pMatchSignup->lMatchFee);
- // m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchID"), pMatchSignup->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchNo"), pMatchSignup->dwMatchNO);
- // m_GameDBAide.AddParameter(TEXT("@strMachineID"), pMatchSignup->szMachineID);
- //
- // //输出参数
- // TCHAR szDescribeString[128] = TEXT("");
- // m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //结果处理
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_UserMatchQuit"), true);
- //
- // //构造结构
- // DBO_GR_MatchSingupResult MatchSignupResult;
- // ZeroMemory(&MatchSignupResult, sizeof(MatchSignupResult));
- //
- // //设置变量
- // MatchSignupResult.bResultCode = lReturnValue == DB_SUCCESS;
- //
- // //读取财富
- // if (MatchSignupResult.bResultCode == true)
- // {
- // MatchSignupResult.lCurrGold = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- // MatchSignupResult.lCurrIngot = m_GameDBAide.GetValue_LONGLONG(TEXT("Ingot"));
- // }
- // else
- // {
- // //错误描述
- // CDBVarValue DBVarValue;
- // m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- // lstrcpyn(MatchSignupResult.szDescribeString, CW2CT(DBVarValue.bstrVal), CountArray(MatchSignupResult.szDescribeString));
- // }
- //
- // //发送结果
- // WORD wSendDataSize = sizeof(MatchSignupResult) - sizeof(MatchSignupResult.szDescribeString);
- // wSendDataSize += CountStringBuffer(MatchSignupResult.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_UNSIGNUP_RESULT, dwContextID, &MatchSignupResult, wSendDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserMatchQuit ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBO_GR_MatchSingupResult MatchSignupResult;
- // ZeroMemory(&MatchSignupResult, sizeof(MatchSignupResult));
- //
- // //设置变量
- // MatchSignupResult.bResultCode = false;
- // lstrcpyn(MatchSignupResult.szDescribeString, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(MatchSignupResult.szDescribeString));
- //
- // //发送结果
- // WORD wSendDataSize = sizeof(MatchSignupResult) - sizeof(MatchSignupResult.szDescribeString);
- // wSendDataSize += CountStringBuffer(MatchSignupResult.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_SIGNUP_RESULT, dwContextID, &MatchSignupResult, wSendDataSize);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UserMatchQuit ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //}
- //
- ////比赛开始
- //bool CDataBaseEngineSink::OnRequestMatchStart(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestMatchStart"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_MatchStart));
- // if (wDataSize != sizeof(DBR_GR_MatchStart)) return false;
- // CTimer Start;
- // //变量定义
- // DBR_GR_MatchStart * pMatchStart = (DBR_GR_MatchStart *)pData;
- //
- // //请求处理
- // try
- // {
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), pMatchStart->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@wMatchID"), pMatchStart->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@wMatchNo"), pMatchStart->dwMatchNO);
- // m_GameDBAide.AddParameter(TEXT("@cbMatchType"), pMatchStart->cbMatchType);
- //
- // //结果处理
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_MatchStart"), true);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchStart ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchStart ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////比赛结束
- //bool CDataBaseEngineSink::OnRequestMatchOver(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestMatchOver"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_MatchOver));
- // if (wDataSize != sizeof(DBR_GR_MatchOver)) return false;
- // CTimer Start;
- //
- // //变量定义
- // DBR_GR_MatchOver * pMatchOver = (DBR_GR_MatchOver *)pData;
- //
- // //请求处理
- // try
- // {
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), pMatchOver->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchID"), pMatchOver->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchNo"), pMatchOver->dwMatchNO);
- // m_GameDBAide.AddParameter(TEXT("@cbMatchType"), pMatchOver->cbMatchType);
- // m_GameDBAide.AddParameter(TEXT("@MatchStartTime"), pMatchOver->MatchStartTime);
- // m_GameDBAide.AddParameter(TEXT("@MatchEndTime"), pMatchOver->MatchEndTime);
- //
- // //结果处理
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_MatchOver"), true);
- //
- // //执行成功
- // if (lReturnValue == DB_SUCCESS)
- // {
- // //构造结构
- // DBO_GR_MatchRankList MatchRankList;
- // ZeroMemory(&MatchRankList, sizeof(MatchRankList));
- //
- // //变量定义
- // tagMatchRankInfo * pMatchRankInfo = NULL;
- //
- // //设置变量
- // MatchRankList.dwMatchID = pMatchOver->dwMatchID;
- // MatchRankList.dwMatchNO = pMatchOver->dwMatchNO;
- //
- // //读取记录
- // while (m_GameDBModule->IsRecordsetEnd() == false)
- // {
- // pMatchRankInfo = &MatchRankList.MatchRankInfo[MatchRankList.wUserCount++];
- // pMatchRankInfo->wRankID = m_GameDBAide.GetValue_WORD(TEXT("RankID"));
- // pMatchRankInfo->dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- // pMatchRankInfo->lMatchScore = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- // pMatchRankInfo->lRewardGold = m_GameDBAide.GetValue_LONGLONG(TEXT("RewardGold"));
- // pMatchRankInfo->dwRewardIngot = m_GameDBAide.GetValue_DWORD(TEXT("RewardMedal"));
- // pMatchRankInfo->dwRewardExperience = m_GameDBAide.GetValue_DWORD(TEXT("RewardExperience"));
- //
- // //移动游标
- // m_GameDBModule->MoveToNext();
- // }
- //
- // //发送数据
- // WORD wSendDataSize = sizeof(MatchRankList) - sizeof(MatchRankList.MatchRankInfo);
- // wSendDataSize += MatchRankList.wUserCount * sizeof(MatchRankList.MatchRankInfo[0]);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_RANK_LIST, dwContextID, &MatchRankList, wSendDataSize);
- // }
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchOver ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchOver ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////比赛奖励
- //bool CDataBaseEngineSink::OnRequestMatchReward(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestMatchReward"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_MatchReward));
- // if (wDataSize != sizeof(DBR_GR_MatchReward)) return false;
- // CTimer Start;
- // //变量定义
- // DBR_GR_MatchReward * pMatchReward = (DBR_GR_MatchReward *)pData;
- // dwUserID = pMatchReward->dwUserID;
- //
- // //请求处理
- // try
- // {
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pMatchReward->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pMatchReward->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@dwRewardGold"), pMatchReward->lRewardGold);
- // m_GameDBAide.AddParameter(TEXT("@dwRewardIngot"), pMatchReward->dwRewardIngot);
- // m_GameDBAide.AddParameter(TEXT("@dwRewardExperience"), pMatchReward->dwRewardExperience);
- // m_GameDBAide.AddParameter(TEXT("@wKindID"), m_pGameServiceOption->wKindID);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- //
- // //结果处理
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_MatchReward"), true);
- //
- // //构造结构
- // DBR_GR_MatchRewardResult MatchRewardResult;
- // ZeroMemory(&MatchRewardResult, sizeof(MatchRewardResult));
- //
- // //设置变量
- // MatchRewardResult.bResultCode = lReturnValue == DB_SUCCESS;
- //
- // //读取财富
- // if (MatchRewardResult.bResultCode == true)
- // {
- // MatchRewardResult.lCurrGold = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- // MatchRewardResult.lCurrIngot = m_GameDBAide.GetValue_LONGLONG(TEXT("Ingot"));
- // MatchRewardResult.dwCurrExperience = m_GameDBAide.GetValue_DWORD(TEXT("Experience"));
- // }
- //
- // //发送结果
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_REWARD_RESULT, dwContextID, &MatchRewardResult, sizeof(MatchRewardResult));
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchReward ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //构造结构
- // DBR_GR_MatchRewardResult MatchRewardResult;
- // ZeroMemory(&MatchRewardResult, sizeof(MatchRewardResult));
- //
- // //设置变量
- // MatchRewardResult.bResultCode = false;
- //
- // //发送结果
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_MATCH_REWARD_RESULT, dwContextID, &MatchRewardResult, sizeof(MatchRewardResult));
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchReward ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////比赛淘汰
- //bool CDataBaseEngineSink::OnRequestMatchEliminate(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestMatchEliminate"), TraceLevel_Debug);
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_MatchEliminate));
- // if (wDataSize != sizeof(DBR_GR_MatchEliminate)) return false;
- // CTimer Start;
- // //变量定义
- // DBR_GR_MatchEliminate * pMatchEliminate = (DBR_GR_MatchEliminate *)pData;
- //
- // //请求处理
- // try
- // {
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pMatchEliminate->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), pMatchEliminate->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@wMatchID"), pMatchEliminate->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@wMatchNo"), pMatchEliminate->dwMatchNO);
- // m_GameDBAide.AddParameter(TEXT("@cbMatchType"), pMatchEliminate->cbMatchType);
- //
- // //结果处理
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_MatchEliminate"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchEliminate ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_MatchEliminate ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////用户权限
- //bool CDataBaseEngineSink::OnRequestManageUserRight(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestManageUserRight"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_ManageUserRight));
- // if (wDataSize != sizeof(DBR_GR_ManageUserRight)) return false;
- //
- // //请求处理
- // DBR_GR_ManageUserRight * pManageUserRight = (DBR_GR_ManageUserRight *)pData;
- // dwUserID = pManageUserRight->dwUserID;
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pManageUserRight->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@dwAddRight"), pManageUserRight->dwAddRight);
- // m_GameDBAide.AddParameter(TEXT("@dwRemoveRight"), pManageUserRight->dwRemoveRight);
- //
- // //执行查询
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_ManageUserRight"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_ManageUserRight ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_ManageUserRight ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- ////比赛权限
- //bool CDataBaseEngineSink::OnRequestManageMatchRight(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestManageMatchRight"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //效验参数
- // ASSERT(wDataSize == sizeof(DBR_GR_ManageUserRight));
- // if (wDataSize != sizeof(DBR_GR_ManageUserRight)) return false;
- //
- // //请求处理
- // DBR_GR_ManageMatchRight * pManageMatchRight = (DBR_GR_ManageMatchRight *)pData;
- // dwUserID = pManageMatchRight->dwUserID;
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pManageMatchRight->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@dwAddRight"), pManageMatchRight->dwAddRight);
- // m_GameDBAide.AddParameter(TEXT("@dwRemoveRight"), pManageMatchRight->dwRemoveRight);
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchID"), pManageMatchRight->dwMatchID);
- // m_GameDBAide.AddParameter(TEXT("@dwMatchNo"), pManageMatchRight->dwMatchNO);
- //
- // //执行查询
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_ManageMatchRight"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_ManageMatchRight ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //错误处理
- // OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_ManageMatchRight ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- ////系统消息
- //bool CDataBaseEngineSink::OnRequestLoadSystemMessage(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestLoadSystemMessage"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- //
- // //执行查询
- // LONG lReturnValue = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LoadSystemMessage"), true);
- //
- // //结果处理
- // if (lReturnValue == 0)
- // {
- // TCHAR szServerID[32] = { 0 };
- // _sntprintf(szServerID, CountArray(szServerID), TEXT("%d"), m_pGameServiceOption->wServerID);
- //
- // while (true)
- // {
- // //结束判断
- // if (m_GameDBModule->IsRecordsetEnd() == true) break;
- //
- // //定义变量
- // TCHAR szServerRange[1024] = { 0 };
- // CString strServerRange;
- // bool bSendMessage = false;
- // bool bAllRoom = false;
- //
- // //读取范围
- // m_GameDBAide.GetValue_String(TEXT("ServerRange"), szServerRange, CountArray(szServerRange));
- // szServerRange[1023] = 0;
- // strServerRange.Format(TEXT("%s"), szServerRange);
- //
- // //范围判断
- // while (true)
- // {
- // int nfind = strServerRange.Find(TEXT(','));
- // if (nfind != -1 && nfind > 0)
- // {
- // CString strID = strServerRange.Left(nfind);
- // WORD wServerID = StrToInt(strID);
- // bSendMessage = (wServerID == 0 || wServerID == m_pGameServiceOption->wServerID);
- // if (wServerID == 0)bAllRoom = true;
- //
- // if (bSendMessage) break;
- //
- // strServerRange = strServerRange.Right(strServerRange.GetLength() - nfind - 1);
- // }
- // else
- // {
- // WORD wServerID = StrToInt(szServerRange);
- // bSendMessage = (wServerID == 0 || wServerID == m_pGameServiceOption->wServerID);
- // if (wServerID == 0)bAllRoom = true;
- //
- // break;
- // }
- // }
- //
- // //发送消息
- // if (bSendMessage)
- // {
- // //定义变量
- // DBR_GR_SystemMessage SystemMessage;
- // ZeroMemory(&SystemMessage, sizeof(SystemMessage));
- //
- // //读取消息
- // SystemMessage.dwMessageID = m_GameDBAide.GetValue_DWORD(TEXT("ID"));
- // SystemMessage.cbMessageType = m_GameDBAide.GetValue_BYTE(TEXT("MessageType"));
- // SystemMessage.dwTimeRate = m_GameDBAide.GetValue_DWORD(TEXT("TimeRate"));
- // SystemMessage.cbAllRoom = bAllRoom ? TRUE : FALSE;
- // m_GameDBAide.GetValue_String(TEXT("MessageString"), SystemMessage.szSystemMessage, CountArray(SystemMessage.szSystemMessage));
- //
- // //读取时间
- // SYSTEMTIME systime;
- // ZeroMemory(&systime, sizeof(systime));
- //
- // //开始时间
- // m_GameDBAide.GetValue_SystemTime(TEXT("StartTime"), systime);
- // CTime StarTime(systime);
- // SystemMessage.tStartTime = StarTime.GetTime();
- //
- // //结束时间
- // m_GameDBAide.GetValue_SystemTime(TEXT("ConcludeTime"), systime);
- // CTime ConcludeTime(systime);
- // SystemMessage.tConcludeTime = ConcludeTime.GetTime();
- //
- // //发送结果
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_SYSTEM_MESSAGE_RESULT, dwContextID, &SystemMessage, sizeof(SystemMessage));
- // }
- //
- // //下一条
- // m_GameDBModule->MoveToNext();
- // }
- //
- // //加载完成
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_SYSTEM_MESSAGE_FINISH, dwContextID, NULL, 0);
- // }
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadSystemMessage ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // //错误处理
- // //OnInsureDisposeResult(dwContextID, DB_ERROR, 0L, TEXT("由于数据库操作异常,请您稍后重试!"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadSystemMessage ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
- //
- //
- ////加载敏感词
- //bool CDataBaseEngineSink::OnRequestLoadSensitiveWords(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTimer Start;
- // try
- // {
- // //构造参数
- // m_PlatformDBAide.ResetParameter();
- //
- // //执行查询
- // LONG lReturnValue = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_LoadSensitiveWords"), true);
- //
- // //读取信息
- // if (lReturnValue == DB_SUCCESS)
- // {
- // //起始消息
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_SENSITIVE_WORDS, 0xfffe, NULL, 0);
- //
- // //读取消息
- // while (m_PlatformDBModule->IsRecordsetEnd() == false)
- // {
- // //变量定义
- // TCHAR szSensitiveWords[32] = TEXT("");
- //
- // //读取消息
- // m_PlatformDBAide.GetValue_String(TEXT("SensitiveWords"), szSensitiveWords, CountArray(szSensitiveWords));
- //
- // //发送消息
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_SENSITIVE_WORDS, 0, szSensitiveWords, sizeof(szSensitiveWords));
- //
- // //移动记录
- // m_PlatformDBModule->MoveToNext();
- // };
- //
- // //结束消息
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_SENSITIVE_WORDS, 0xffff, NULL, 0);
- // }
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadSensitiveWords ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_LoadSensitiveWords ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return false;
- // }
- //
- // return true;
- //}
-
- void CDataBaseEngineSink::Fstring(TCHAR* pCheck)
- {
- for (int i = 0; i < 32; i++)
- {
- try
- {
- WORD bb = pCheck[i];
- if ((bb > 126 && bb < 19968)
- || (bb > 40869)
- || bb < 33)
- {
- if (pCheck[i] == 0x00) break;
- pCheck[i] = L' ';
- }
- }
- catch (...)
- {
-
- }
- }
-
- }
-
- //解锁机器
- //bool CDataBaseEngineSink::UnLockAndroidUser()
- //{
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::UnLockAndroidUser"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@wServerID"), m_pGameServiceOption->wServerID);
- //
- // //执行查询
- // LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_UnlockAndroidUser"), false);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UnlockAndroidUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GR_UnlockAndroidUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // }
- //
- // return false;
- //}
-
- //登录结果
- VOID CDataBaseEngineSink::OnLogonDisposeResult(DWORD dwContextID, DWORD dwErrorCode, LPCTSTR pszErrorString, bool bMobileClient, BYTE cbDeviceType, WORD wBehaviorFlags, WORD wPageTableCount)
- {
- if (dwErrorCode == DB_SUCCESS)
- {
- //属性资料
- m_LogonSuccess.wFaceID = m_GameDBAide.GetValue_WORD(TEXT("FaceID"));
- m_LogonSuccess.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_LogonSuccess.dwGameID = m_GameDBAide.GetValue_DWORD(TEXT("GameID"));
- m_LogonSuccess.dwGroupID = m_GameDBAide.GetValue_DWORD(TEXT("GroupID"));
- m_LogonSuccess.dwCustomID = m_GameDBAide.GetValue_DWORD(TEXT("CustomID"));
-
- m_LogonSuccess.llJiePing = m_GameDBAide.GetValue_LONGLONG(TEXT("llJiePing"));
- m_LogonSuccess.iXinYong = m_GameDBAide.GetValue_INT(TEXT("iXinYong"));
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("NickName"), szBuffer, CountArray(szBuffer));
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(m_LogonSuccess.szNickName, 32, TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(m_LogonSuccess.szNickName, 32, TEXT("%s"), szOutBuffer);
- }
-
- //过滤字符
- Fstring(m_LogonSuccess.szNickName);
-
- m_GameDBAide.GetValue_String(TEXT("UserUin"), m_LogonSuccess.szUnionID, CountArray(m_LogonSuccess.szUnionID));
-
- COleDateTime Time;
- CString csTest1, csTest2, csTest3, csTest;
- m_GameDBAide.GetValue_String(TEXT("RegisterDate"), m_LogonSuccess.RegTime, CountArray(m_LogonSuccess.RegTime));
- csTest = m_LogonSuccess.RegTime;
- csTest1 = csTest.Mid(6, 4);
- csTest2 = csTest.Mid(0, 2);
- csTest3 = csTest.Mid(3, 2);
- csTest = csTest1 + _T("/") + csTest2 + _T("/") + csTest3;
- _sntprintf(m_LogonSuccess.RegTime, 16, TEXT("%s"), csTest.GetBuffer());
- csTest.ReleaseBuffer();
- m_LogonSuccess.dDaiLi = m_GameDBAide.GetValue_DWORD(TEXT("BingID"));
- //用户资料
- m_LogonSuccess.cbGender = m_GameDBAide.GetValue_BYTE(TEXT("Gender"));
- m_LogonSuccess.cbMemberOrder = m_GameDBAide.GetValue_BYTE(TEXT("MemberOrder"));
- m_LogonSuccess.cbMasterOrder = m_GameDBAide.GetValue_BYTE(TEXT("MasterOrder"));
- //m_GameDBAide.GetValue_String(TEXT("UnderWrite"), m_LogonSuccess.szUnderWrite, CountArray(m_LogonSuccess.szUnderWrite));
-
- //积分信息
- m_LogonSuccess.lScore = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- //m_LogonSuccess.lIngot = m_GameDBAide.GetValue_LONG(TEXT("Ingot"));
- m_LogonSuccess.lGrade = m_GameDBAide.GetValue_LONGLONG(TEXT("Grade"));
- m_LogonSuccess.lInsure = m_GameDBAide.GetValue_LONGLONG(TEXT("Insure"));
- m_LogonSuccess.dwBean = m_GameDBAide.GetValue_DWORD(TEXT("Beans"));
-
- //索引变量
- m_LogonSuccess.dwInoutIndex = m_GameDBAide.GetValue_LONG(TEXT("InoutIndex"));
- m_LogonSuccess.dwWinCount = m_GameDBAide.GetValue_LONG(TEXT("WinCount"));
- m_LogonSuccess.dwLostCount = m_GameDBAide.GetValue_LONG(TEXT("LostCount"));
- m_LogonSuccess.dwDrawCount = m_GameDBAide.GetValue_LONG(TEXT("DrawCount"));
- m_LogonSuccess.dwFleeCount = m_GameDBAide.GetValue_LONG(TEXT("FleeCount"));
- m_LogonSuccess.dwExperience = m_GameDBAide.GetValue_LONG(TEXT("Experience"));
- m_LogonSuccess.lLoveLiness = m_GameDBAide.GetValue_LONG(TEXT("LoveLiness"));
-
- //附加信息
- m_LogonSuccess.dwUserRight = m_GameDBAide.GetValue_DWORD(TEXT("UserRight"));
- m_LogonSuccess.dwMasterRight = m_GameDBAide.GetValue_DWORD(TEXT("MasterRight"));
-
- m_GameDBAide.GetValue_String(TEXT("DaiLiName"), m_LogonSuccess.DaiLiName, CountArray(m_LogonSuccess.DaiLiName));
- m_GameDBAide.GetValue_String(TEXT("DaiLiQQ"), m_LogonSuccess.DaiLiQQ, CountArray(m_LogonSuccess.DaiLiQQ));
- m_GameDBAide.GetValue_String(TEXT("DaiLiWX"), m_LogonSuccess.DaiLiWX, CountArray(m_LogonSuccess.DaiLiWX));
-
- m_LogonSuccess.LeiJiZuanShi = m_GameDBAide.GetValue_INT(TEXT("LeiJiZuanShi"));
- m_LogonSuccess.GouMaiZuanShi = m_GameDBAide.GetValue_INT(TEXT("GouMaiZuanShi"));
-
- m_LogonSuccess.cbDeviceType = cbDeviceType;
- m_LogonSuccess.wBehaviorFlags = wBehaviorFlags;
- m_LogonSuccess.wPageTableCount = wPageTableCount;
-
- //用户头像地址
- ZeroMemory(m_LogonSuccess.szHeadUrl, CountArray(m_LogonSuccess.szHeadUrl));
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), m_LogonSuccess.szHeadUrl, CountArray(m_LogonSuccess.szHeadUrl));
-
- ZeroMemory(m_LogonSuccess.szDescribeString, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("LastLogonMobile"), m_LogonSuccess.szDescribeString, CountArray(m_LogonSuccess.szDescribeString));
-
-
- //俱乐部信息
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), m_LogonSuccess.dwUserID);
-
-
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetID"), true);
- if (DB_SUCCESS == lResultCode)
- {
- int count = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- m_LogonSuccess.dwClubID[count] = m_GameDBAide.GetValue_DWORD(TEXT("ClubID"));
-
- //移动记录
- m_GameDBModule->MoveToNext();
- count++;
- if (count == 20) break;
- }
- }
-
-
- //获取信息
- //if (pszErrorString != NULL) lstrcpyn(m_LogonSuccess.szDescribeString, pszErrorString, CountArray(m_LogonSuccess.szDescribeString));
-
- //任务变量
- //m_LogonSuccess.wTaskCount = 0;
- //ZeroMemory(m_LogonSuccess.UserTaskInfo, sizeof(m_LogonSuccess.UserTaskInfo));
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_LOGON_SUCCESS, dwContextID, &m_LogonSuccess, sizeof(m_LogonSuccess));
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(302))
- {
- CString strTip;
- strTip.Format(L"代理请求:%d", m_LogonSuccess.dDaiLi);//新用户ID:%d,dwUserID,
- CTraceService::TraceString(strTip, TraceLevel_Normal);
- }
- //扫码绑定代理验证
- //2018 7/31 lyh
- if (0 == m_LogonSuccess.dDaiLi){
-
- GETDUILIEBASE Temp;
- ZeroMemory(&Temp, sizeof(GETDUILIEBASE));
- StringCchCat(Temp.szUnionID, CountArray(Temp.szUnionID), m_LogonSuccess.szUnionID);
- Temp.dUserID = m_LogonSuccess.dwUserID;
- Temp.CommendID = 7;
- Temp.dwSocketID = dwContextID;
- StringCchCat(Temp.bb.szName, CountArray(Temp.bb.szName), m_LogonSuccess.szNickName);
-
- CHttpClient::AddLog(dwContextID, Temp);
- }
- }
- else
- {
- //变量定义
- DBO_GR_LogonFailure LogonFailure;
- ZeroMemory(&LogonFailure, sizeof(LogonFailure));
-
- //构造数据
- LogonFailure.lResultCode = dwErrorCode;
- lstrcpyn(LogonFailure.szDescribeString, pszErrorString, CountArray(LogonFailure.szDescribeString));
-
- //发送结果
- WORD wDataSize = CountStringBuffer(LogonFailure.szDescribeString);
- WORD wHeadSize = sizeof(LogonFailure) - sizeof(LogonFailure.szDescribeString);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_LOGON_FAILURE, dwContextID, &LogonFailure, wHeadSize + wDataSize);
- }
-
- return;
- }
-
- ////银行结果
- //VOID CDataBaseEngineSink::OnInsureDisposeResult(DWORD dwContextID, DWORD dwErrorCode, SCORE lFrozenedScore, LPCTSTR pszErrorString, bool bMobileClient, BYTE cbActivityGame)
- //{
- // if (dwErrorCode == DB_SUCCESS)
- // {
- // //变量定义
- // DBO_GR_UserInsureSuccess UserInsureSuccess;
- // ZeroMemory(&UserInsureSuccess, sizeof(UserInsureSuccess));
- //
- // //构造变量
- // UserInsureSuccess.cbActivityGame = cbActivityGame;
- // UserInsureSuccess.lFrozenedScore = lFrozenedScore;
- // UserInsureSuccess.dwUserID = m_TreasureDBAide.GetValue_DWORD(TEXT("UserID"));
- // UserInsureSuccess.lSourceScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("SourceScore"));
- // UserInsureSuccess.lSourceInsure = m_TreasureDBAide.GetValue_LONGLONG(TEXT("SourceInsure"));
- // UserInsureSuccess.lInsureRevenue = m_TreasureDBAide.GetValue_LONGLONG(TEXT("InsureRevenue"));
- // UserInsureSuccess.lVariationScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("VariationScore"));
- // UserInsureSuccess.lVariationInsure = m_TreasureDBAide.GetValue_LONGLONG(TEXT("VariationInsure"));
- // lstrcpyn(UserInsureSuccess.szDescribeString, pszErrorString, CountArray(UserInsureSuccess.szDescribeString));
- //
- // //发送结果
- // WORD wDataSize = CountStringBuffer(UserInsureSuccess.szDescribeString);
- // WORD wHeadSize = sizeof(UserInsureSuccess) - sizeof(UserInsureSuccess.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_USER_INSURE_SUCCESS, dwContextID, &UserInsureSuccess, wHeadSize + wDataSize);
- // }
- // else
- // {
- // //变量定义
- // DBO_GR_UserInsureFailure UserInsureFailure;
- // ZeroMemory(&UserInsureFailure, sizeof(UserInsureFailure));
- //
- // //构造变量
- // UserInsureFailure.cbActivityGame = cbActivityGame;
- // UserInsureFailure.lResultCode = dwErrorCode;
- // UserInsureFailure.lFrozenedScore = lFrozenedScore;
- // lstrcpyn(UserInsureFailure.szDescribeString, pszErrorString, CountArray(UserInsureFailure.szDescribeString));
- //
- // //发送结果
- // WORD wDataSize = CountStringBuffer(UserInsureFailure.szDescribeString);
- // WORD wHeadSize = sizeof(UserInsureFailure) - sizeof(UserInsureFailure.szDescribeString);
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_USER_INSURE_FAILURE, dwContextID, &UserInsureFailure, wHeadSize + wDataSize);
- // }
- //
- // return;
- //}
-
- //分享通知
- bool CDataBaseEngineSink::OnShareMessage(VOID * pData, WORD wDataSize, DWORD dwUserID)
- {
- //效验参数
- ASSERT(wDataSize == sizeof(CMD_GR_BangDing));
- if (wDataSize < sizeof(CMD_GR_BangDing)) return false;
-
- //效验数据
- CMD_GR_BangDing * pUser = (CMD_GR_BangDing *)pData;
-
-
- GETDUILIEBASE Base;
- ZeroMemory(&Base, sizeof(GETDUILIEBASE));
- StringCchCat(Base.szUnionID, 32, L"");
- Base.CommendID = 4;//分享通知
- Base.dwSocketID = 0;
- Base.dUserID = dwUserID;
-
- CopyMemory(Base.szBuffer, pUser, sizeof(CMD_GR_BangDing));
-
- CMD_GR_Info aa;
- ZeroMemory(&aa, sizeof(CMD_GR_Info));
- StringCchCat(aa.szName, 32, L"");
- StringCchCat(aa.szImgHead, 256, L"");
- Base.bb = aa;
-
- CHttpClient::AddLog(0, Base);
-
- return true;
- }
-
- //分享奖励钻石
- bool CDataBaseEngineSink::OnRequestShareAwardBean(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestShareAwardBean"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- CMD_GR_ShareAwardBean *pShareAwardBean = (CMD_GR_ShareAwardBean *)pData;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pShareAwardBean->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@strClientIP"), pShareAwardBean->szClientIp);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //给指定玩家增加元宝
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_ShareAwardUserCurrency"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
-
- DBR_GR_ShareAwardBeanResult shareAwardResult;
-
- //返回码
- shareAwardResult.lResultCode = lResultCode;
- _sntprintf(shareAwardResult.strErrorDescribe, 128, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
-
- if (0 == lResultCode)
- {
- //shareAwardResult.dwUserID = m_GameDBAide.GetValue_INT(TEXT("MYUserID"));
- shareAwardResult.dwCurrency = m_GameDBAide.GetValue_INT(TEXT("MYCurrency"));
- shareAwardResult.wAwardCurrency = m_GameDBAide.GetValue_INT(TEXT("ShareAwardBeanCount"));
-
- CString csRet = shareAwardResult.strErrorDescribe;
-
- if (csRet == L"分享赠送成功!")
- {
- //调用网页端
-
- }
-
- }
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_SHRAE_AWARD_RETURN, dwContextID, &shareAwardResult, sizeof(DBR_GR_ShareAwardBeanResult));
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 ShareAwardBeanCount ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 ShareAwardBeanCount ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 ShareAwardBeanCount ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 ShareAwardBeanCount ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- //查询用户分享的信息
- bool CDataBaseEngineSink::OnRequestShareInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestShareInfo"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DWORD* pdwUserID = (DWORD*)pData;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), *pdwUserID);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //给指定玩家增加元宝
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_GetShareAwardInfo"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
-
- DBR_GR_ShareAwardInfo shareAwardInfo;
-
- //返回码
- shareAwardInfo.lResultCode = lResultCode;
- _sntprintf(shareAwardInfo.strErrorDescribe, 128, TEXT("%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
-
- if (0 == lResultCode)
- {
- //shareAwardInfo.dwUserID = m_GameDBAide.GetValue_INT(TEXT("MYUserID"));
- shareAwardInfo.wTodaySharedFlag = m_GameDBAide.GetValue_INT(TEXT("TodayAwardCount"));
- shareAwardInfo.wShardAwardCurrency = m_GameDBAide.GetValue_INT(TEXT("ShareAwardBeanCount"));
- }
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_USER_SHRAE_INFO_RETURN, dwContextID, &shareAwardInfo, sizeof(DBR_GR_ShareAwardInfo));
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetShareAwardInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetShareAwardInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetShareAwardInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_GetShareAwardInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
- //////////////////////////////////////////////////////////////////////////////////
-
-
- //钻石兑换金币的配置列表 \存储过程\数据库SQL\DataBase\Script\Platform\存储过程\金币数据库\兑换管理.sql
- //bool CDataBaseEngineSink::OnRequestExchangeConfigs(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // CTimer Start;
- // try
- // {
- // //构造参数
- // m_TreasureDBAide.ResetParameter();
- // LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_ExchangeConfig"), true);
- //
- // //变量定义
- // WORD wPacketSize = 0;
- // BYTE cbBuffer[MAX_ASYNCHRONISM_DATA] = { 0 };
- //
- // //发送种类
- // wPacketSize = 0;
- // tagExchangeConfig * pExchageCfg = NULL;
- // while (!m_TreasureDBModule->IsRecordsetEnd())
- // {
- // //发送信息
- // if ((wPacketSize + sizeof(tagExchangeConfig)) > sizeof(cbBuffer))
- // {
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_EXCHANGE_CONFIG_LIST_ACK, dwContextID, cbBuffer, wPacketSize);
- // wPacketSize = 0;
- // }
- //
- // //读取信息
- // pExchageCfg = (tagExchangeConfig *)(cbBuffer + wPacketSize);
- // pExchageCfg->wID = m_TreasureDBAide.GetValue_DWORD(TEXT("ID"));
- // pExchageCfg->dwIngot = m_TreasureDBAide.GetValue_DWORD(TEXT("Ingot")); ///注意数据范围
- // pExchageCfg->dwSCORE = m_TreasureDBAide.GetValue_DWORD(TEXT("Score"));
- //
- // //设置位移
- // wPacketSize += sizeof(tagExchangeConfig);
- //
- // //移动记录
- // m_TreasureDBModule->MoveToNext();
- // }
- //
- // if (wPacketSize > 0)
- // {
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_EXCHANGE_CONFIG_LIST_ACK, dwContextID, cbBuffer, wPacketSize);
- // }
- //
- // double dRet = Start.End();
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(3333))
- // {
- // CString csTest;
- // csTest.Format(_T("存储过程耗时 GSP_GR_ExchangeConfig ----> %.3f wPacketSize=%d"), dRet, wPacketSize);
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // return false;
- // }
- //}
-
-
- /////////////////////////////俱乐部///////////////////////////////////////
- void ff(CMD_S_ClubInfo & ClubInfo, CList<int>& list)
- {
-
- //总共13条数据
- int i = 0;
- //游戏类型
- POSITION p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.wSubGameID = list.GetAt(p);
- //底分
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.wPlayRule = list.GetAt(p);
- //房费
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.wMaxFanRule = list.GetAt(p);
- //IP限制
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.wMaxScore = list.GetAt(p);
- //局数
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.wPlayCountRule = list.GetAt(p);
- //是否是房主
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.zmExtraRule = list.GetAt(p);
- //胡法
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.bDuoLai = list.GetAt(p);
- //玩法
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.wFengDing = list.GetAt(p);
- //备用
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.tmp1 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.tmp2 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.tmp3 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.tmp4 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- ClubInfo.csGameConfig.tmp5 = list.GetAt(p);
- }
- //俱乐部列表
- //m_GameDBAide连接的是THTreause数据库
- bool CDataBaseEngineSink::OnRequestGetClubList(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubList");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubList"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubList* pClubList = (DBR_GR_ClubList*)pData;
- if (pClubList == NULL) return false;
-
- //返回数据
- CMD_GR_ClubList_Ack ClubListAck;
- ZeroMemory(&ClubListAck, sizeof(ClubListAck));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubList->dwUserID);
-
- //玩家获取通知个数
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetMessgeCount"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ClubListAck.wNewsCount = m_GameDBAide.GetValue_WORD(TEXT("MessageCount"));
- }
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubList->dwUserID);
- m_GameDBAide.AddParameter(TEXT("StartIndex"), pClubList->wStartIndex);
- m_GameDBAide.AddParameter(TEXT("Count"), pClubList->wCount);
-
- //玩家获取俱乐部信息
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetList"), true);
- DWORD clubId[20] = { 0 };
- if (DB_SUCCESS == lResultCode)
- {
- for (int j = 0; j < m_GameDBModule->GetRecordCount(); j++)
- {
- if (j >= 20){ break;}
- //构造数据
- CMD_S_ClubInfo ClubInfo;
- ZeroMemory(&ClubInfo, sizeof(ClubInfo));
- //cbIsOwner用来区分发给的是房主还是玩家
- int ClubRole = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
- if (ClubRole == 10)
- {
- ClubInfo.cbIsOwner = 1;
- }
- else if (ClubRole == 2)
- {
- ClubInfo.cbIsOwner = 2;
- }
- else if (ClubRole == 3)
- {
- ClubInfo.cbIsOwner = 3;
- }
-
- //兼容老版本
- if (pClubList->dwUserID == m_GameDBAide.GetValue_DWORD(TEXT("HostID")))
- {
- ClubInfo.cbIsOwner = 1;
- }
- ClubInfo.dwClubID = m_GameDBAide.GetValue_DWORD(TEXT("CLubID"));
- m_GameDBAide.GetValue_String(TEXT("CLubName"), ClubInfo.szClubName, LEN_CLUB_NAME);
- ClubInfo.dwOwnerID = m_GameDBAide.GetValue_DWORD(TEXT("HostID"));
- ClubInfo.temp1 = m_GameDBAide.GetValue_DWORD(TEXT("TableChoice"));
- clubId[j] = ClubInfo.dwClubID;
- //名称
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("HostName"), szBuffer,128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ClubInfo.szHostName, CountArray(ClubInfo.szHostName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ClubInfo.szHostName, CountArray(ClubInfo.szHostName), TEXT("%s"), szOutBuffer);
- }
-
- //头像
- m_GameDBAide.GetValue_String(TEXT("HostHeadUrl"), ClubInfo.szHeadUrl, 256);
-
- //配置
- TCHAR tcconfig[LEN_TABLE_CONFIG] = { 0 };
- m_GameDBAide.GetValue_String(TEXT("GameConfig"), tcconfig, LEN_TABLE_CONFIG);
- CList<int> list;
- CString Config = tcconfig;
- int pos = Config.Find(_T('#'));
- while (pos != -1)
- {
- CString field = Config.Left(pos);
- int iRet = _wtoi(field);
- list.AddTail(iRet);
- Config.ReleaseBuffer();
- Config = Config.Right(Config.GetLength() - pos - 1);
- pos = Config.Find(_T('#'));
- }
- if (Config.GetLength() > 0)
- {
- int iRet = _wtoi(Config.GetBuffer(0));
- list.AddTail(iRet);
- Config.ReleaseBuffer();
- }
- ff(ClubInfo, list);
-
- //复制数据
- CopyMemory(&(ClubListAck.csGameClubInfo[j]), &ClubInfo, sizeof(ClubInfo));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- ClubListAck.wClubCount = m_GameDBModule->GetRecordCount();
- if (ClubListAck.wClubCount > 20){ ClubListAck.wClubCount = 20; }
- }
-
- for (int j = 0; j < 20; j++)
- {
- //构造参数
- if (clubId[j] > 0)
- {
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("CLubID"), clubId[j]);
-
- //玩家获取俱乐部信息
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Sample_Select"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ClubListAck.csGameClubInfo[j].temp2 = m_GameDBAide.GetValue_DWORD(TEXT("Sample"));
- }
- }
- }
- //查看群主是否开启房主选项
- int PayChoice = 0;
- m_GameDBAide.ResetParameter();
-
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_PayChoice"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- PayChoice = m_GameDBAide.GetValue_DWORD(TEXT("PayChoice"));
- }
-
- for (int i = 0; i < ClubListAck.wClubCount;i++)
- {
- if (i >= 20){ break; }
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("ClubID"), ClubListAck.csGameClubInfo[i].dwClubID);
- //玩家获取俱乐部信息
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetUserCount"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ClubListAck.csGameClubInfo[i].wTotalNum = m_GameDBAide.GetValue_DWORD(TEXT("UserNum"));
- }
-
- if (PayChoice == 1 && ClubListAck.csGameClubInfo[i].csGameConfig.wMaxFanRule >= 10)
- {
- ClubListAck.csGameClubInfo[i].csGameConfig.wMaxFanRule -= 10;
- }
- }
-
- //返回数据
- int totalSize = ClubListAck.wClubCount * sizeof(CMD_S_ClubInfo) + sizeof(WORD) + sizeof(WORD);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_LIST_ACK, dwContextID, &ClubListAck, totalSize);//sizeof(ClubListAck)
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetList ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetList ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
-
- CString csTest;
-
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_GetList ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
-
-
-
- return true;
- }
-
- return true;
- }
-
-
- //俱乐部会员
- bool CDataBaseEngineSink::OnRequestGetClubUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubUser");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubUser"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubUser* pClubUser = (DBR_GR_ClubUser*)pData;
- if (pClubUser == NULL) return false;
-
- //返回数据
- CMD_GR_ClubUser_Ack ClubUserAck;
- ZeroMemory(&ClubUserAck, sizeof(ClubUserAck));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
- DWORD Role = 0;
-
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRole"), true);
- if (DB_SUCCESS == lResultCode)
- {
- if (m_GameDBModule->GetRecordCount() == 1)
- {
- Role = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
- if (Role == 10)
- {
- ClubUserAck.cbHost = 1;
- }
- else if (Role == 3)
- {
- ClubUserAck.cbHost = 2;
- }
- }
- }
-
-
- //获取俱乐部会员
- ClubUserAck.dwClubID = pClubUser->dwClubID;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
- m_GameDBAide.AddParameter(TEXT("StartIndex"), pClubUser->wStartIndex);
- m_GameDBAide.AddParameter(TEXT("Count"), pClubUser->wCount);
-
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetUser"), true);
- if (DB_SUCCESS == lResultCode)
- {
- for (int i = 0; i < m_GameDBModule->GetRecordCount(); i++)
- {
- if (i >= 20) { break; }
- //构造数据
- CMD_S_MemberInfo ClubUser;
- ZeroMemory(&ClubUser, sizeof(ClubUser));
-
-
- ClubUser.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- ClubUser.BangMaID = m_GameDBAide.GetValue_DWORD(TEXT("BangMa"));
- ClubUser.cbStaus = m_GameDBAide.GetValue_BYTE(TEXT("Agree"));
- int role = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
-
- if (role == 10)
- {
- ClubUser.isHost = 1;
- }
- else if (role == 3)
- {
- ClubUser.isHost = 2;
- }
-
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ClubUser.szName, CountArray(ClubUser.szName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ClubUser.szName, CountArray(ClubUser.szName), TEXT("%s"), szOutBuffer);
- }
-
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), ClubUser.szHeadUrl, LEN_HEAD_URL);
-
- //复制数据
- CopyMemory(&(ClubUserAck.csMemberInfo[i]), &ClubUser, sizeof(ClubUser));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- ClubUserAck.wCount = m_GameDBModule->GetRecordCount();
- if (ClubUserAck.wCount > 20){ ClubUserAck.wCount = 20; }
- }
-
- //返回数据
- int totalSize = ClubUserAck.wCount * sizeof(CMD_S_MemberInfo) + sizeof(WORD) + sizeof(DWORD) + sizeof(BYTE);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_USER_ACK, dwContextID, &ClubUserAck, totalSize);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- //俱乐部会员(在线)
- bool CDataBaseEngineSink::OnRequestGetClubUserEx(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubUserEx"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubUser* pClubUser = (DBR_GR_ClubUser*)pData;
- if (pClubUser == NULL) return false;
-
- //返回数据
- CMD_GR_ClubUser_Ack_Ex ClubUserAck;
- ZeroMemory(&ClubUserAck, sizeof(ClubUserAck));
- ClubUserAck.wStartIndex = pClubUser->wStartIndex;
- ClubUserAck.wCount = pClubUser->wCount;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
- DWORD Role = 0;
-
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRole"), true);
- if (DB_SUCCESS == lResultCode)
- {
- if (m_GameDBModule->GetRecordCount() == 1)
- {
- Role = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
- if (Role == 10)
- {
- ClubUserAck.cbHost = 1;
- }
- else if (Role == 3)
- {
- ClubUserAck.cbHost = 2;
- }
- }
- }
-
-
- //获取俱乐部会员
- ClubUserAck.dwClubID = pClubUser->dwClubID;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
-
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetUser_Ex"), true);
- if (DB_SUCCESS == lResultCode)
- {
- for (int i = 0; i < m_GameDBModule->GetRecordCount(); i++)
- {
- if (i >= 1000) { break; }
- //构造数据
- CMD_S_MemberInfoEx ClubUser;
- ZeroMemory(&ClubUser, sizeof(ClubUser));
-
-
- ClubUser.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- ClubUser.Agree = m_GameDBAide.GetValue_DWORD(TEXT("Agree"));
- int role = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
-
- if (role == 10)
- {
- ClubUser.isHost = 1;
- }
- else if (role == 3)
- {
- ClubUser.isHost = 2;
- }
-
- //复制数据
- CopyMemory(&(ClubUserAck.csMemberInfo[i]), &ClubUser, sizeof(ClubUser));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- ClubUserAck.wMemCount = m_GameDBModule->GetRecordCount();
- if (ClubUserAck.wMemCount > 1000){ ClubUserAck.wMemCount = 1000; }
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_USER_ACK_EX, dwContextID, &ClubUserAck, sizeof(ClubUserAck));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser_Ex ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser_Ex ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser_Ex ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUser_Ex ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- //俱乐部会员(在线)
- bool CDataBaseEngineSink::OnRequestGetClubUserOnline(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubUserOnline");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubUserOnline"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- CMD_GR_ClubUser_Ack_Ex* pClubUser = (CMD_GR_ClubUser_Ack_Ex*)pData;
- if (pClubUser == NULL) return false;
-
- //返回数据
- CMD_GR_ClubUser_Ack ClubUserAck;
- ZeroMemory(&ClubUserAck, sizeof(ClubUserAck));
-
- ClubUserAck.cbHost = pClubUser->cbHost;
- ClubUserAck.dwClubID = pClubUser->dwClubID;
- int k = 0;
- for (int i = pClubUser->wStartIndex; i < pClubUser->wCount + pClubUser->wStartIndex; i++)
- {
-
- if (i >= 1000) break;
- if (pClubUser->csMemberInfo[i].dwUserID == 0 ) break;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->csMemberInfo[i].dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
-
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetUserOnline"), true);
- if (DB_SUCCESS == lResultCode)
- {
- //构造数据
- CMD_S_MemberInfo ClubUser;
- ZeroMemory(&ClubUser, sizeof(ClubUser));
-
- ClubUser.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- ClubUser.BangMaID = m_GameDBAide.GetValue_DWORD(TEXT("BangMa"));
- ClubUser.cbStaus = m_GameDBAide.GetValue_BYTE(TEXT("Agree"));
- int role = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
-
- if (role == 10)
- {
- ClubUser.isHost = 1;
- }
- else if (role == 3)
- {
- ClubUser.isHost = 2;
- }
-
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ClubUser.szName, CountArray(ClubUser.szName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ClubUser.szName, CountArray(ClubUser.szName), TEXT("%s"), szOutBuffer);
- }
-
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), ClubUser.szHeadUrl, LEN_HEAD_URL);
-
- //复制数据
- if (k >= 20){ break; }
- CopyMemory(&(ClubUserAck.csMemberInfo[k++]), &ClubUser, sizeof(ClubUser));
- }
- ClubUserAck.wCount = k;
- }
-
-
- //返回数据
- int totalSize = ClubUserAck.wCount * sizeof(CMD_S_MemberInfo) + sizeof(WORD) + sizeof(DWORD) + sizeof(BYTE);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_USER_ACK, dwContextID, &ClubUserAck, totalSize);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUserOnLine ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetUserOnLine ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
-
- CString csTest;
-
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_GetUserOnLine ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
-
-
- return true;
- }
-
- return true;
- }
-
- //俱乐部通知
- bool CDataBaseEngineSink::OnRequestGetClubMessage(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubMessage");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubMessage"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubMessage * pClubMessage = (DBR_GR_ClubMessage*)pData;
- if (pClubMessage == NULL) return false;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubMessage->dwUserID);
- m_GameDBAide.AddParameter(TEXT("StartIndex"), pClubMessage->wStartIndex);
- m_GameDBAide.AddParameter(TEXT("Count"), pClubMessage->wCount);
-
- //返回数据
- CMD_GR_ClubMessage_Ack ClubMessageAck;
- ZeroMemory(&ClubMessageAck, sizeof(ClubMessageAck));
-
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetMessage"), true);
- if (DB_SUCCESS == lResultCode)
- {
- int count = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- //构造数据
- CMD_S_MessageInfo ClubMessage;
- ZeroMemory(&ClubMessage, sizeof(ClubMessage));
-
- ClubMessage.dType = m_GameDBAide.GetValue_WORD(TEXT("Kind"));
- ClubMessage.dtActionTime = m_GameDBAide.GetValue_DWORD(TEXT("ActionTime"));
- m_GameDBAide.GetValue_String(TEXT("Content"), ClubMessage.szContent, LEN_CLUB_MESSAGE);
- //复制数据
- CopyMemory(&(ClubMessageAck.CMD_S_MessageInfo[count]), &ClubMessage, sizeof(ClubMessage));
- //移动记录
- m_GameDBModule->MoveToNext();
- count++;
- if (count >= 20){ break; }
- }
- ClubMessageAck.wCount = count;
- }
-
- //返回数据
- int totalSize = ClubMessageAck.wCount * sizeof(CMD_S_MessageInfo) + sizeof(WORD);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_MESSAGE_ACK, dwContextID, &ClubMessageAck, totalSize);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetMessage ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetMessage ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetMessage ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetMessage ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
- //分享战绩到闲聊
- bool CDataBaseEngineSink::OnRequestFenXiangClubRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- try
- {
- DBR_GR_ClubRecordXianLiao * pClubRecord = (DBR_GR_ClubRecordXianLiao*)pData;
- if (pClubRecord == NULL) return false;
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubRecord->dwClubID);
- //写入俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_CheckXLQ"), true);
- if (lResultCode == DB_SUCCESS)
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_XIANLIAO_RECORD, dwContextID, pData, wDataSize);
- }
- else if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(302))
- {
- CString csTest;
- csTest.Format(_T("俱乐部未绑定闲聊群"));
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- CString csTest;
- csTest.Format(_T("存储过程异常 GSP_GP_Club_CheckXLQ ----> %s "), pIException->GetExceptionDescribe());
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- }
- return true;
- }
-
- //俱乐部记录写入
- bool CDataBaseEngineSink::OnRequestWriteClubRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestWriteClubRecord");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestWriteClubRecord"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubRecordWrite * pClubRecord = (DBR_GR_ClubRecordWrite*)pData;
- if (pClubRecord == NULL) return false;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubRecord->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@TableID"), pClubRecord->dwTableID);
- m_GameDBAide.AddParameter(TEXT("@TableOwnerID"), pClubRecord->dwUserID);
-
- m_GameDBAide.AddParameter(TEXT("@JuShu"), pClubRecord->Jushu);
- m_GameDBAide.AddParameter(TEXT("@PayWay"), pClubRecord->PayWay);
- m_GameDBAide.AddParameter(TEXT("@UserCount"), pClubRecord->dwUserCount);
- m_GameDBAide.AddParameter(TEXT("@Player0"), pClubRecord->Player[0]);
- m_GameDBAide.AddParameter(TEXT("@Player1"), pClubRecord->Player[1]);
- m_GameDBAide.AddParameter(TEXT("@Player2"), pClubRecord->Player[2]);
- m_GameDBAide.AddParameter(TEXT("@Player3"), pClubRecord->Player[3]);
- m_GameDBAide.AddParameter(TEXT("@CreateTime"), pClubRecord->SystemTimeStart);
-
- //写入俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_WriteRecord"), true);
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_WriteRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_WriteRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_WriteRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_WriteRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
-
- //俱乐部记录
- bool CDataBaseEngineSink::OnRequestGetClubRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubRecord");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubRecord"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubRecordRead * pClubRecord = (DBR_GR_ClubRecordRead*)pData;
- if (pClubRecord == NULL) return false;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubRecord->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubRecord->dwClubID);
- m_GameDBAide.AddParameter(TEXT("StartIndex"), pClubRecord->wStartIndex);
- m_GameDBAide.AddParameter(TEXT("Count"), pClubRecord->wCount);
- m_GameDBAide.AddParameter(TEXT("StartTime"), pClubRecord->dtStartTime + 8 * 3600);
- m_GameDBAide.AddParameter(TEXT("dwPrivateTable"), pClubRecord->dwPrivateTable);
-
-
- //返回数据
- CMD_GR_ClubRecord_Ack ClubRecordAck;
- ZeroMemory(&ClubRecordAck, sizeof(ClubRecordAck));
- ClubRecordAck.dwClubID = pClubRecord->dwClubID;
-
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRecord"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- int count = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- //构造数据
- int playCount = 0;
- CMD_S_RecordInfo ClubRecord;
- ZeroMemory(&ClubRecord, sizeof(ClubRecord));
-
- ClubRecord.dwTableID = m_GameDBAide.GetValue_DWORD(TEXT("TableID"));
- ClubRecord.dwTableOwnerID = m_GameDBAide.GetValue_DWORD(TEXT("TableOwnerID"));
-
- ClubRecord.dtCreateTime = m_GameDBAide.GetValue_DWORD(TEXT("CreateTime"));
-
- ClubRecord.cbPayWay = m_GameDBAide.GetValue_BYTE(TEXT("PayWay"));
- ClubRecord.cbJuShu = m_GameDBAide.GetValue_BYTE(TEXT("JuShu"));
- ClubRecord.PlayerID[0] = m_GameDBAide.GetValue_DWORD(TEXT("Player1"));
- ClubRecord.PlayerID[1] = m_GameDBAide.GetValue_DWORD(TEXT("Player2"));
- ClubRecord.PlayerID[2] = m_GameDBAide.GetValue_DWORD(TEXT("Player3"));
- ClubRecord.PlayerID[3] = m_GameDBAide.GetValue_DWORD(TEXT("Player4"));
-
- if (ClubRecord.PlayerID[0])playCount = 1;
- if (ClubRecord.PlayerID[1])playCount = 2;
- if (ClubRecord.PlayerID[2])playCount = 3;
- if (ClubRecord.PlayerID[3])playCount = 4;
-
- //名字
- for (int i = 0; i < playCount; i++)
- {
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- if (i == 0)
- m_GameDBAide.GetValue_String(TEXT("NickName1"), szBuffer, 128);
- if (i == 1)
- m_GameDBAide.GetValue_String(TEXT("NickName2"), szBuffer, 128);
- if (i == 2)
- m_GameDBAide.GetValue_String(TEXT("NickName3"), szBuffer, 128);
- if (i == 3)
- m_GameDBAide.GetValue_String(TEXT("NickName4"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ClubRecord.PlayerName[i], CountArray(ClubRecord.PlayerName[i]), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ClubRecord.PlayerName[i], CountArray(ClubRecord.PlayerName[i]), TEXT("%s"), szOutBuffer);
- }
-
- }
-
- //复制数据
- CopyMemory(&(ClubRecordAck.csRecordInfo[count]), &ClubRecord, sizeof(ClubRecord));
- //移动记录
- m_GameDBModule->MoveToNext();
- count++;
- if (count >= 10) { break; }
- }
- ClubRecordAck.wCount = count;
- }
-
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubRecord->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubRecord->dwClubID);
- m_GameDBAide.AddParameter(TEXT("StartTime"), pClubRecord->dtStartTime + 8 * 3600);
- m_GameDBAide.AddParameter(TEXT("dwPrivateTable"), pClubRecord->dwPrivateTable);
- //获取俱乐部消息
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRecordCount"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ClubRecordAck.dwTableCount = m_GameDBAide.GetValue_DWORD(TEXT("TableCount"));
- ClubRecordAck.dwZunShi = m_GameDBAide.GetValue_DWORD(TEXT("ZuanShiCount"));
- }
-
- //返回数据
- int totalSize = ClubRecordAck.wCount * sizeof(CMD_S_RecordInfo) + sizeof(DWORD) * 3 + sizeof(WORD);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_RECORD_ACK, dwContextID, &ClubRecordAck, totalSize);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- bool CDataBaseEngineSink::OnRequestGetClubRecordEX(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubRecord");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubRecord"), TraceLevel_Debug);
-
- CTimer Start;
- try
- {
- DBR_GR_ClubRecordRead * pClubRecord = (DBR_GR_ClubRecordRead*)pData;
- if (pClubRecord == NULL) return false;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubRecord->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubRecord->dwClubID);
- m_GameDBAide.AddParameter(TEXT("StartIndex"), pClubRecord->wStartIndex);
- m_GameDBAide.AddParameter(TEXT("Count"), pClubRecord->wCount);
- m_GameDBAide.AddParameter(TEXT("StartTime"), pClubRecord->dtStartTime + 8 * 3600);
- m_GameDBAide.AddParameter(TEXT("dwPrivateTable"), pClubRecord->dwPrivateTable);
-
- //返回数据2
- CMD_GR_ClubRecord_Ack_EX ClubRecordAckEx;
- ZeroMemory(&ClubRecordAckEx, sizeof(ClubRecordAckEx));
- ClubRecordAckEx.dwClubID = pClubRecord->dwClubID;
-
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRecord"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- int count = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- //构造数据
- int playCount = 0;
-
- CMD_S_RecordInfoEX ClubRecordEX;
- ZeroMemory(&ClubRecordEX, sizeof(ClubRecordEX));
-
- ClubRecordEX.Record.dwTableID = m_GameDBAide.GetValue_DWORD(TEXT("TableID"));
- ClubRecordEX.Record.dwTableOwnerID = m_GameDBAide.GetValue_DWORD(TEXT("TableOwnerID"));
-
- ClubRecordEX.Record.dtCreateTime = m_GameDBAide.GetValue_DWORD(TEXT("CreateTime"));
-
- ClubRecordEX.Record.cbPayWay = m_GameDBAide.GetValue_BYTE(TEXT("PayWay"));
- ClubRecordEX.Record.cbJuShu = m_GameDBAide.GetValue_BYTE(TEXT("JuShu"));
- ClubRecordEX.Record.PlayerID[0] = m_GameDBAide.GetValue_DWORD(TEXT("Player1"));
- ClubRecordEX.Record.PlayerID[1] = m_GameDBAide.GetValue_DWORD(TEXT("Player2"));
- ClubRecordEX.Record.PlayerID[2] = m_GameDBAide.GetValue_DWORD(TEXT("Player3"));
- ClubRecordEX.Record.PlayerID[3] = m_GameDBAide.GetValue_DWORD(TEXT("Player4"));
-
- if (ClubRecordEX.Record.PlayerID[0])playCount = 1;
- if (ClubRecordEX.Record.PlayerID[1])playCount = 2;
- if (ClubRecordEX.Record.PlayerID[2])playCount = 3;
- if (ClubRecordEX.Record.PlayerID[3])playCount = 4;
-
- //名字
- for (int i = 0; i < playCount; i++)
- {
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- if (i == 0)
- m_GameDBAide.GetValue_String(TEXT("NickName1"), szBuffer, 128);
- if (i == 1)
- m_GameDBAide.GetValue_String(TEXT("NickName2"), szBuffer, 128);
- if (i == 2)
- m_GameDBAide.GetValue_String(TEXT("NickName3"), szBuffer, 128);
- if (i == 3)
- m_GameDBAide.GetValue_String(TEXT("NickName4"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ClubRecordEX.Record.PlayerName[i], CountArray(ClubRecordEX.Record.PlayerName[i]), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ClubRecordEX.Record.PlayerName[i], CountArray(ClubRecordEX.Record.PlayerName[i]), TEXT("%s"), szOutBuffer);
- }
-
- }
-
- //给新结构体赋值
- ClubRecordEX.Score[0] = m_GameDBAide.GetValue_INT(TEXT("Score1"));
- ClubRecordEX.Score[1] = m_GameDBAide.GetValue_INT(TEXT("Score2"));
- ClubRecordEX.Score[2] = m_GameDBAide.GetValue_INT(TEXT("Score3"));
- ClubRecordEX.Score[3] = m_GameDBAide.GetValue_INT(TEXT("Score4"));
-
- //复制数据
- CopyMemory(&(ClubRecordAckEx.csRecordInfo[count]), &ClubRecordEX, sizeof(ClubRecordEX));
- //移动记录
- m_GameDBModule->MoveToNext();
- count++;
- if (count >= 10) { break; }
- }
- ClubRecordAckEx.wCount = count;
- }
-
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubRecord->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubRecord->dwClubID);
- m_GameDBAide.AddParameter(TEXT("StartTime"), pClubRecord->dtStartTime + 8 * 3600);
- m_GameDBAide.AddParameter(TEXT("dwPrivateTable"), pClubRecord->dwPrivateTable);
- //获取俱乐部消息
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRecordCount"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ClubRecordAckEx.dwTableCount = m_GameDBAide.GetValue_DWORD(TEXT("TableCount"));
- ClubRecordAckEx.dwZunShi = m_GameDBAide.GetValue_DWORD(TEXT("ZuanShiCount"));
- }
-
- //返回数据
-
- int totalSizeEx = ClubRecordAckEx.wCount * sizeof(CMD_S_RecordInfoEX) + sizeof(DWORD) * 3 + sizeof(WORD);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_RECORD_ACK_EX, dwContextID, &ClubRecordAckEx, totalSizeEx);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- CString csTest;
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_GetRecord ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
-
- return true;
- }
- //俱乐部获取战绩数据
- bool CDataBaseEngineSink::OnRequestGetClubExploits(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- CMD_GR_ClubExploits * pClubRecord = (CMD_GR_ClubExploits*)pData;
- if (pClubRecord == NULL) return false;
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("PrivateTableID"), pClubRecord->PrivateTableID);
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetExploits"), true);
- CMD_GR_GetUserScoreRecordListResp records;
- ZeroMemory(&records, sizeof(CMD_GR_GetUserScoreRecordListResp));
- records.wParentRecordID = 1;
- if (DB_SUCCESS == lResultCode)
- {
- std::vector<tagGameRecordDrawInfoEx> GameScoreRecord(m_GameDBModule->GetRecordCount());
- int i = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- tagGameRecordDrawInfoEx& grdi = GameScoreRecord[i++];
- grdi.dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
- grdi.wParentID = m_GameDBAide.GetValue_DWORD(TEXT("ParentID"));
- SYSTEMTIME SystemTimeStart, SystemTimeConclude;
- m_GameDBAide.GetValue_SystemTime(TEXT("StartTime"), SystemTimeStart);
- m_GameDBAide.GetValue_SystemTime(TEXT("ConcludeTime"), SystemTimeConclude);
- CTime StartTime(SystemTimeStart);
- CTime ConcludeTime(SystemTimeConclude);
- grdi.SystemTimeStart = StartTime.GetTime();
- grdi.SystemTimeConclude = ConcludeTime.GetTime();
-
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- records.wRecordCount = GameScoreRecord.size();
-
- for (int i = 0; i < records.wRecordCount; i++)
- {
- tagGameRecordDrawInfoEx& grdi = GameScoreRecord[i];
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@DrawID"), grdi.dwDrawID);
- int j = 0;
- LONG lResultCode2 = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_GetRecordDrawScore"), true);
- if (lResultCode2 == DB_SUCCESS)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (j > 3)break;
- //读取数据
- tagGameRecordDrawScoreEx& grds = grdi.GameChairScore[j++];
- grds.dwDrawID = m_GameDBAide.GetValue_DWORD(TEXT("DrawID"));
- grds.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(grds.szUserName, LEN_NICKNAME, TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(grds.szUserName, LEN_NICKNAME, TEXT("%s"), szOutBuffer);
- }
-
- grds.wChairID = m_GameDBAide.GetValue_WORD(TEXT("ChairID"));
- grds.lScore = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- grds.lGrade = m_GameDBAide.GetValue_WORD(TEXT("Grade"));
- grds.dwUserMedal = m_GameDBAide.GetValue_WORD(TEXT("UserMedal"));
- grds.dwPlayTimeCount = m_GameDBAide.GetValue_WORD(TEXT("PlayTimeCount"));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
-
- }
- }
- int totalSize = sizeof(CMD_GR_GetUserScoreRecordListResp) + sizeof(tagGameRecordDrawInfoEx)*GameScoreRecord.size();
- char* buff = new char[totalSize];
- memcpy(buff, &records, sizeof(WORD) * 2);
- int offset = sizeof(WORD) * 2;
- for (tagGameRecordDrawInfoEx& r : GameScoreRecord)
- {
- memcpy(buff + offset, &r, sizeof(tagGameRecordDrawInfoEx));
- offset += sizeof(tagGameRecordDrawInfoEx);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(302))
- {
- CString csTest;
- csTest.Format(_T("【OnRequestGetUserGameScoreRecords】获取战绩长度 ----> %d "), totalSize);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_GET_USER_GAMESCORE_LIST, dwContextID, buff, totalSize);
- SafeDeleteArray(buff);
- }
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时俱乐部查战绩 GSP_GP_Club_GetExploits GSP_GP_GetRecordDrawScore----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- CString csTest;
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_GetExploits ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
-
- return true;
- }
- //俱乐部获取对局数据
- bool CDataBaseEngineSink::OnRequestGetClubPlaygames(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- CMD_GR_ClubPlaygamesUser * pClubPlaygames = (CMD_GR_ClubPlaygamesUser*)pData;
- if (pClubPlaygames == NULL) return false;
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubPlaygames->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@wType"), pClubPlaygames->wType);
- m_GameDBAide.AddParameter(TEXT("@StartIndex"), pClubPlaygames->StartIndex);
- m_GameDBAide.AddParameter(TEXT("@mCount"), pClubPlaygames->mCount);
- m_GameDBAide.AddParameter(TEXT("@wDateCount"), pClubPlaygames->wDateCount);
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubPlaygames->UserID);
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Playgames"), true);
- if (lResultCode == DB_SUCCESS)
- {
- std::vector<tagClubPlaygames> PlaygamesCount(m_GameDBModule->GetRecordCount());
- BYTE temp = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (temp > pClubPlaygames->mCount)break;
- tagClubPlaygames & gms = PlaygamesCount[temp++];
- gms.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- gms.mCount = m_GameDBAide.GetValue_WORD(TEXT("mCount"));
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(gms.szUserName, LEN_NICKNAME, TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(gms.szUserName, LEN_NICKNAME, TEXT("%s"), szOutBuffer);
- }
- m_GameDBAide.GetValue_String(TEXT("UserImg"), gms.szHeadImg, 255);
- CString csTest = gms.szHeadImg;
- if (csTest == _T("0"))
- {
- ZeroMemory(gms.szHeadImg, 256 * sizeof(TCHAR));
- }
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- int totalSize = sizeof(tagClubPlaygames)*PlaygamesCount.size() + sizeof(WORD) + sizeof(BYTE);
- char* buff = new char[totalSize];
- WORD wCount = pClubPlaygames->wDateCount;
- CopyMemory(buff, &wCount, sizeof(WORD));
- CopyMemory(buff + sizeof(WORD), &temp, sizeof(BYTE));
- int offset = sizeof(BYTE) + sizeof(WORD);
- for (tagClubPlaygames& r : PlaygamesCount)
- {
- memcpy(buff + offset, &r, sizeof(tagClubPlaygames));
- offset += sizeof(tagClubPlaygames);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(302))
- {
- CString csTest;
- csTest.Format(_T("【OnRequestGetUserGameScoreRecords】获取战绩长度 ----> %d "), totalSize);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_COUNT_PLAYGAEMS_ACK, dwContextID, buff, totalSize);
- SafeDeleteArray(buff);
- }
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Playgames ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- CString csTest;
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_Playgames ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
-
- }
- //俱乐部获取积分数据
- bool CDataBaseEngineSink::OnRequestGetClubIntegral(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- CMD_GR_ClubIntegralUser * pClubIntegral = (CMD_GR_ClubIntegralUser*)pData;
- if (pClubIntegral == NULL) return false;
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubIntegral->dwClubID);
- m_GameDBAide.AddParameter(TEXT("wType"), pClubIntegral->wType);
- m_GameDBAide.AddParameter(TEXT("wDateCount"), pClubIntegral->wDateCount);
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubIntegral->UserID);
- //获取俱乐部消息
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Integral"), true);
- if (lResultCode == DB_SUCCESS)
- {
- std::vector<tagClubIntegral> ClubIntegral(m_GameDBModule->GetRecordCount());
- BYTE temp = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (temp > 10)break;
- tagClubIntegral & gms = ClubIntegral[temp++];
- gms.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- gms.mCount = m_GameDBAide.GetValue_WORD(TEXT("mCount"));
- gms.mJiFen = m_GameDBAide.GetValue_LONGLONG(TEXT("Score"));
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(gms.szUserName, LEN_NICKNAME, TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(gms.szUserName, LEN_NICKNAME, TEXT("%s"), szOutBuffer);
- }
- m_GameDBAide.GetValue_String(TEXT("UserImg"), gms.szHeadImg, 255);
- CString csTest = gms.szHeadImg;
- if (csTest == _T("0"))
- {
- ZeroMemory(gms.szHeadImg, 256 * sizeof(TCHAR));
- }
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- int totalSize = sizeof(tagClubIntegral)*ClubIntegral.size() + sizeof(WORD) + sizeof(BYTE);
- char* buff = new char[totalSize];
- WORD wCount = pClubIntegral->wDateCount;
- CopyMemory(buff, &wCount, sizeof(WORD));
- CopyMemory(buff + sizeof(WORD), &temp, sizeof(BYTE));
- int offset = sizeof(BYTE) + sizeof(WORD);
- for (tagClubIntegral& r : ClubIntegral)
- {
- memcpy(buff + offset, &r, sizeof(tagClubIntegral));
- offset += sizeof(tagClubIntegral);
- }
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(302))
- {
- CString csTest;
- csTest.Format(_T("【OnRequestGetUserGameScoreRecords】获取战绩长度 ----> %d "), totalSize);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_COUNT_INTEGRAL_ACK, dwContextID, buff, totalSize);
- SafeDeleteArray(buff);
- }
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Integral ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- CString csTest;
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_Integral ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
- }
-
-
- void CDataBaseEngineSink::OnHandleConfigToCString(CString & gameConfig, const tagTableConfig csGameConfig)
- {
- CString kongZhi = L"#";
- TCHAR temp[10];
- //类型
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.wSubGameID, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //底分
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.wPlayRule, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //房费
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.wMaxFanRule, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //IP限制
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.wMaxScore, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //局数
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.wPlayCountRule, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //支付方式
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.zmExtraRule, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //胡法
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.bDuoLai, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //玩法
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.wFengDing, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
-
- //备用
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.tmp1, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.tmp2, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.tmp3, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.tmp4, temp, 10);
- gameConfig.Append(temp);
- gameConfig.Append(kongZhi);
- ZeroMemory(temp, 10);
- _itow_s(csGameConfig.tmp5, temp, 10);
- gameConfig.Append(temp);
- }
- //俱乐部创建
- bool CDataBaseEngineSink::OnRequestCreateClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
-
- OutputDebugStringA("CDataBaseEngineSink::OnRequestCreateClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestCreateClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction1 *pClubAction1 = (DBR_GR_ClubAction1*)pData;
- if (pClubAction1 == NULL) return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubAction1->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubName"), pClubAction1->ClubInfo.szClubName);
- m_GameDBAide.AddParameter(TEXT("TableChoice"), pClubAction1->ClubInfo.temp1);
-
- CString gameConfig;
- OnHandleConfigToCString(gameConfig, pClubAction1->ClubInfo.csGameConfig);//LYH26
-
- //CString kongZhi = L"#";
- //TCHAR temp[10];
- ////类型
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wSubGameID, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////底分
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wPlayRule, temp, 10);
- //
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////房费
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wMaxFanRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////IP限制
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wMaxScore, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////局数
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wPlayCountRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////支付方式
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.zmExtraRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////胡法
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.bDuoLai, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////玩法
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wFengDing, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////备用
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp1, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp2, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp3, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp4, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp5, temp, 10);
- //gameConfig.Append(temp);
-
- m_GameDBAide.AddParameter(TEXT("GameConfig"), gameConfig);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
-
- //返回数据
- DBR_GR_Club_Action_Ack4 ActionAck1;
- ZeroMemory(&ActionAck1, sizeof(ActionAck1));
-
- //创建俱乐部
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Create"), true);
- if (DB_SUCCESS == lResultCode)
- {
- CopyMemory(&ActionAck1.ClubInfo, &(pClubAction1->ClubInfo), sizeof(CMD_S_ClubInfo));
- ActionAck1.ClubInfo.dwOwnerID = pClubAction1->dwUserID;
- ActionAck1.ClubInfo.dwClubID = m_GameDBAide.GetValue_DWORD(TEXT("ClubID"));
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), ActionAck1.ClubInfo.szHeadUrl, LEN_HEAD_URL);
-
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("NickName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ActionAck1.ClubInfo.szHostName, CountArray(ActionAck1.ClubInfo.szHostName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ActionAck1.ClubInfo.szHostName, CountArray(ActionAck1.ClubInfo.szHostName), TEXT("%s"), szOutBuffer);
- }
- ActionAck1.Result = 1;
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck1.Message, szDescribeString, 127 * sizeof(TCHAR));
- }
-
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_CREATE_ACK, dwContextID, &ActionAck1, sizeof(ActionAck1));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Create ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Create ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Create ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Create ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
- //俱乐部额外玩法修改
- bool CDataBaseEngineSink::OnRequestUpdateAddClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUpdateClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAddAction *pClubAction1 = (DBR_GR_ClubAddAction*)pData;
- if (pClubAction1 == NULL) return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@AddId"), pClubAction1->tbAutoAddInfo.cbWanfaId);//额外玩法自动开房与默认玩法区别
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction1->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@CLubID"), pClubAction1->tbAutoAddInfo.dwClubID);
-
- CString gameConfig;
- if (1 == pClubAction1->tbAutoAddInfo.cbStatus)
- {
- OnHandleConfigToCString(gameConfig, pClubAction1->tbAutoAddInfo.gameconfig);//只修改默认玩法,额外玩法不改 目前 LYH26
- }
- m_GameDBAide.AddParameter(TEXT("@GameConfig"), gameConfig);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //返回数据
- CMD_GR_Club_Action_Ack1Add ActionAck1;
- ZeroMemory(&ActionAck1, sizeof(ActionAck1));
- CMD_S_ClubAutoAddInfo tAutoAddInfo; //额外玩法信息
- ZeroMemory(&tAutoAddInfo, sizeof(CMD_S_ClubAutoAddInfo));
- CopyMemory(&ActionAck1.AutoAddInfo, &pClubAction1->tbAutoAddInfo, sizeof(CMD_S_ClubAutoAddInfo));
- //更新俱乐部
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_UpdateAdd"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck1.Result = 1;
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck1.Message, szDescribeString, 127 * sizeof(TCHAR));
- ActionAck1.Result = 0;
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_SAVE_MORE_WANFA_ACK, dwContextID, &ActionAck1, sizeof(CMD_GR_Club_Action_Ack1Add));
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_UpdateAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_UpdateAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- CString csTest;
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_UpdateAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部修改
- bool CDataBaseEngineSink::OnRequestUpdateClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestUpdateClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction1 *pClubAction1 = (DBR_GR_ClubAction1*)pData;
- if (pClubAction1 == NULL) return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //输入参数
- m_GameDBAide.ResetParameter();
- //int nAddId = *(int*)(pClubAction1 + 1);//额外玩法自动开房与默认玩法区别
- //m_GameDBAide.AddParameter(TEXT("@AddId"), nAddId);
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction1->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@CLubID"), pClubAction1->ClubInfo.dwClubID);
- m_GameDBAide.AddParameter(TEXT("@TableChoice"), pClubAction1->ClubInfo.temp1);
- m_GameDBAide.AddParameter(TEXT("@ClubName"), pClubAction1->ClubInfo.szClubName);
-
- CString gameConfig;
- OnHandleConfigToCString(gameConfig, pClubAction1->ClubInfo.csGameConfig);//只修改默认玩法,额外玩法不改 目前 LYH26
-
- //CString kongZhi = L"#";
- //TCHAR temp[10];
- ////类型
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wSubGameID, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////底分
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wPlayRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////房费
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wMaxFanRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////IP限制
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wMaxScore, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////局数
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wPlayCountRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////支付方式
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.zmExtraRule, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////胡法
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.bDuoLai, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////玩法
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.wFengDing, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- ////备用
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp1, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp2, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp3, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp4, temp, 10);
- //gameConfig.Append(temp);
- //gameConfig.Append(kongZhi);
- //ZeroMemory(temp, 10);
- //_itow_s(pClubAction1->ClubInfo.csGameConfig.tmp5, temp, 10);
- //gameConfig.Append(temp);
-
- m_GameDBAide.AddParameter(TEXT("@GameConfig"), gameConfig);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
-
-
- //返回数据
- CMD_GR_Club_Action_Ack2Ex ActionAck2;
- ZeroMemory(&ActionAck2, sizeof(ActionAck2));
-
- //更新俱乐部
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Update"), true);
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck2.TableChoiceChange = m_GameDBAide.GetValue_BYTE(TEXT("TableChoiceChange"));
- ActionAck2.Ack2.Result = 1;
- CopyMemory(&(ActionAck2.Ack2.ClubInfo), &(pClubAction1->ClubInfo), sizeof(CMD_S_ClubInfo));
- ActionAck2.Ack2.ClubInfo.dwOwnerID = pClubAction1->dwUserID;
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), ActionAck2.Ack2.ClubInfo.szHeadUrl, LEN_HEAD_URL);
-
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("NickName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ActionAck2.Ack2.ClubInfo.szHostName, CountArray(ActionAck2.Ack2.ClubInfo.szHostName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ActionAck2.Ack2.ClubInfo.szHostName, CountArray(ActionAck2.Ack2.ClubInfo.szHostName), TEXT("%s"), szOutBuffer);
- }
-
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck2.Ack2.Message, szDescribeString, 127 * sizeof(TCHAR));
-
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_UPDATE_ACK, dwContextID, &ActionAck2, sizeof(ActionAck2));
-
- //推送给其他用户
- if (DB_SUCCESS == lResultCode)
- {
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction1->ClubInfo.dwClubID);
-
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAllUser"), true);
-
- //返回数据
- DBR_GR_UserData UserData;
- ZeroMemory(&UserData, sizeof(UserData));
-
- CString s = L"创建者修改了牌友圈";
- CString tmp;
- tmp.Format(_T("%d"),pClubAction1->ClubInfo.dwClubID);
- s = s + tmp;
- _tcscpy(UserData.Message, s);
-
- int i = 0;
- if (DB_SUCCESS == lResultCode)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 1000){ break; }
- UserData.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBModule->MoveToNext();
- }
- }
- UserData.wUserCount = i;
- UserData.newsFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
-
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Update ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Update ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Update ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Update ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部删除
- bool CDataBaseEngineSink::OnRequestDeleteClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestDeleteClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestDeleteClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction2 *pClubAction2 = (DBR_GR_ClubAction2*)pData;
- if (pClubAction2 == NULL) return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAllUser"), true);
-
- //返回数据
- DBR_GR_UserData UserData;
- ZeroMemory(&UserData, sizeof(UserData));
-
- CString s = L"创建者删除了牌友圈";
- CString tmp;
- tmp.Format(_T("%d"), pClubAction2->dwClubID);
- s = s + tmp;
- _tcscpy(UserData.Message, s);
-
- int i = 0;
- if (DB_SUCCESS == lResultCode)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 1000){ break; }
- UserData.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBModule->MoveToNext();
- }
- }
- UserData.wUserCount = i;
-
- //输入数据
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubAction2->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubAction2->dwClubID);
- m_GameDBAide.AddParameterOutput(TEXT("strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Delete"), true);
-
- //返回数据
- DBR_GR_Club_Action_Ack1 ActionAck1;
- ZeroMemory(&ActionAck1, sizeof(ActionAck1));
-
-
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck1.dwClubID = pClubAction2->dwClubID;
- ActionAck1.Result = 1;
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck1.Message, szDescribeString, 127 * sizeof(TCHAR));
- }
-
- //推送给其他用户
- if (DB_SUCCESS == lResultCode)
- {
- UserData.newsFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_DELETE_ACK, dwContextID, &ActionAck1, sizeof(ActionAck1));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Delete ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Delete ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Delete ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Delete ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- //处理玩法配置 tagTableConfig——》CString
- bool CDataBaseEngineSink::OnHandleCStringToConfig(tagTableConfig & csGameConfig, CString Config)
- {
- if (L"" == Config)
- {
- return false;
- }
- CList<int> list;
- /*CString Config = tcconfig;*/
- int pos = Config.Find(_T('#'));
- while (pos != -1)
- {
- CString field = Config.Left(pos);
- int iRet = _wtoi(Config.GetBuffer(0));
- list.AddTail(iRet);
- Config.ReleaseBuffer();
- Config = Config.Right(Config.GetLength() - pos - 1);
- pos = Config.Find(_T('#'));
- }
- if (Config.GetLength() > 0)
- {
- int iRet = _wtoi(Config.GetBuffer(0));
- list.AddTail(iRet);
- Config.ReleaseBuffer();
- }
-
- int i = 0;
- //游戏类型
- POSITION p = list.FindIndex(i++);
- if (p)
- csGameConfig.wSubGameID = list.GetAt(p);
- //底分
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.wPlayRule = list.GetAt(p);
- //房费
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.wMaxFanRule = list.GetAt(p);
- //IP限制
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.wMaxScore = list.GetAt(p);
- //局数
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.wPlayCountRule = list.GetAt(p);
- //是否房主
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.zmExtraRule = list.GetAt(p);
- //胡法
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.bDuoLai = list.GetAt(p);
- //玩法
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.wFengDing = list.GetAt(p);
- //备用
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.tmp1 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.tmp2 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.tmp3 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.tmp4 = list.GetAt(p);
- p = list.FindIndex(i++);
- if (p)
- csGameConfig.tmp5 = list.GetAt(p);
- return true;
- }
-
- //俱乐部查看 额外玩法
- bool CDataBaseEngineSink::OnRequestGetAddClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAddAction *pClubAction2 = (DBR_GR_ClubAddAction*)pData;
- if (pClubAction2 == NULL || pClubAction2->tbAutoAddInfo.dwClubID == 0) return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@AddID"), pClubAction2->tbAutoAddInfo.cbWanfaId);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->tbAutoAddInfo.dwClubID);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAdd"), true);
-
- //返回数据
- CMD_GR_Club_Action_Ack1Add ActionAck2;
- ZeroMemory(&ActionAck2, sizeof(ActionAck2));
- CopyMemory(&ActionAck2.AutoAddInfo, &pClubAction2->tbAutoAddInfo, (sizeof(CMD_S_ClubAutoAddInfo) - sizeof(tagTableConfig)));
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck2.Result = 1;
- ActionAck2.AutoAddInfo.dwClubID = m_GameDBAide.GetValue_DWORD(TEXT("ClubID"));
- //配置
- TCHAR tcconfig[LEN_TABLE_CONFIG] = { 0 };
- m_GameDBAide.GetValue_String(TEXT("ClubGameConfig"), tcconfig, LEN_TABLE_CONFIG);
- OnHandleCStringToConfig(ActionAck2.AutoAddInfo.gameconfig, tcconfig);
- CString csTempCFG;
- csTempCFG.Format(L"%s", tcconfig);
- if (L"" != csTempCFG)
- {
- ActionAck2.AutoAddInfo.cbStatus = 1;
- //查看群主是否开启房主选项
- //输入参数
- m_GameDBAide.ResetParameter();
-
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_PayChoice"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- int PayChoice = m_GameDBAide.GetValue_DWORD(TEXT("PayChoice"));
- if (PayChoice == 1 && ActionAck2.AutoAddInfo.gameconfig.wMaxFanRule >= 10)
- {
- ActionAck2.AutoAddInfo.gameconfig.wMaxFanRule -= 10;
- }
- }
- }
- else
- {
- ActionAck2.AutoAddInfo.cbStatus = 2;
- }
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck2.Message, szDescribeString, 127 * sizeof(TCHAR));
-
- }
-
- //返回数据
- /*if (dwContextID == 0 && ActionAck2.ClubInfo.temp1 == 2)
- {
- CMD_GR_Club_Action_Ack2
- CMD_GR_Club_Action_Ack2Ex2 ActionAck2Ex;
- ZeroMemory(&ActionAck2Ex, sizeof(ActionAck2Ex));
- ActionAck2Ex.dwUserID = pClubAction2->dwUserID;
- CopyMemory(&(ActionAck2Ex.Ack2), &ActionAck2, sizeof(ActionAck2));
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_AUTOTABLE_ACK, dwContextID, &ActionAck2Ex, sizeof(ActionAck2Ex));
- }
- else*/
- {
- //获取俱乐部信息
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_MORE_WANFA_ACK, dwContextID, &ActionAck2, sizeof(ActionAck2));
- }
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdd ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- //俱乐部查看
- bool CDataBaseEngineSink::OnRequestGetClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction2 *pClubAction2 = (DBR_GR_ClubAction2*)pData;
- if (pClubAction2 == NULL) return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Get"), true);
-
- //返回数据
- CMD_GR_Club_Action_Ack2 ActionAck2;
- ZeroMemory(&ActionAck2, sizeof(ActionAck2));
- if (DB_SUCCESS == lResultCode)
- {
-
- ActionAck2.Result = 1;
- ActionAck2.ClubInfo.dwClubID = m_GameDBAide.GetValue_DWORD(TEXT("ClubID"));
- ActionAck2.ClubInfo.dwOwnerID = m_GameDBAide.GetValue_DWORD(TEXT("HostID"));
- ActionAck2.ClubInfo.wTotalNum = m_GameDBAide.GetValue_DWORD(TEXT("TotalNum"));
- ActionAck2.ClubInfo.temp1 = m_GameDBAide.GetValue_DWORD(TEXT("TableChoice"));
-
- m_GameDBAide.GetValue_String(TEXT("ClubName"), ActionAck2.ClubInfo.szClubName, LEN_CLUB_NAME);
- m_GameDBAide.GetValue_String(TEXT("HostHeadUrl"), ActionAck2.ClubInfo.szHeadUrl, LEN_HEAD_URL);
-
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("HostName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ActionAck2.ClubInfo.szHostName, CountArray(ActionAck2.ClubInfo.szHostName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ActionAck2.ClubInfo.szHostName, CountArray(ActionAck2.ClubInfo.szHostName), TEXT("%s"), szOutBuffer);
- }
-
- //配置
- TCHAR tcconfig[LEN_TABLE_CONFIG] = { 0 };
- tagTableConfig csGameConfigTemp;
- ZeroMemory(&csGameConfigTemp, sizeof(tagTableConfig));
- m_GameDBAide.GetValue_String(TEXT("ClubGameConfig"), tcconfig, LEN_TABLE_CONFIG);
- OnHandleCStringToConfig(csGameConfigTemp, tcconfig);
- ActionAck2.ClubInfo.temp4 = 0;
- if (dwContextID == 0)
- {
- if (1 == pClubAction2->wWanFa)
- {
- ZeroMemory(&csGameConfigTemp, sizeof(tagTableConfig));
- ZeroMemory(tcconfig, sizeof(TCHAR)*LEN_TABLE_CONFIG);
- m_GameDBAide.GetValue_String(TEXT("AddPlay1"), tcconfig, LEN_TABLE_CONFIG);
- ActionAck2.ClubInfo.temp4 = 1;
- if (!OnHandleCStringToConfig(csGameConfigTemp, tcconfig))
- {
- CString csTest;
- csTest.Format(_T("获取玩法1失败 查询GSP_GP_Club_Get中玩法类型"), pClubAction2->wWanFa);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
- }
- else if (2 == pClubAction2->wWanFa)
- {
- ZeroMemory(&csGameConfigTemp, sizeof(tagTableConfig));
- ZeroMemory(tcconfig, sizeof(TCHAR)*LEN_TABLE_CONFIG);
- ActionAck2.ClubInfo.temp4 = 2;
- m_GameDBAide.GetValue_String(TEXT("AddPlay2"), tcconfig, LEN_TABLE_CONFIG);
- if (!OnHandleCStringToConfig(csGameConfigTemp, tcconfig))
- {
- CString csTest;
- csTest.Format(_T("获取玩法2失败 查询GSP_GP_Club_Get中玩法类型"), pClubAction2->wWanFa);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
- }
- else
- {
- ZeroMemory(&csGameConfigTemp, sizeof(tagTableConfig));
- ZeroMemory(tcconfig, sizeof(TCHAR)*LEN_TABLE_CONFIG);
- m_GameDBAide.GetValue_String(TEXT("ClubGameConfig"), tcconfig, LEN_TABLE_CONFIG);
- if (!OnHandleCStringToConfig(csGameConfigTemp, tcconfig))
- {
- CString csTest;
- csTest.Format(_T("获取默认玩法失败 查询GSP_GP_Club_Get中玩法类型"), pClubAction2->wWanFa);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
- }
- if (pClubAction2->wWanFa > 3)
- {
- ZeroMemory(&csGameConfigTemp, sizeof(tagTableConfig));
- ZeroMemory(tcconfig, sizeof(TCHAR)*LEN_TABLE_CONFIG);
- CString csTest;
- csTest.Format(_T("异常传玩法 %d"), pClubAction2->wWanFa);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- }
-
- }
- CopyMemory(&ActionAck2.ClubInfo.csGameConfig,&csGameConfigTemp, sizeof(tagTableConfig));
-
-
- //CList<int> list;
- //CString Config = tcconfig[0];
- //int pos = Config.Find(_T('#'));
- //while (pos != -1)
- //{
- // CString field = Config.Left(pos);
- // int iRet = _wtoi(Config.GetBuffer(0));
- // list.AddTail(iRet);
- // Config.ReleaseBuffer();
- // Config = Config.Right(Config.GetLength() - pos - 1);
- // pos = Config.Find(_T('#'));
- //}
- //if (Config.GetLength() > 0)
- //{
- // int iRet = _wtoi(Config.GetBuffer(0));
- // list.AddTail(iRet);
- // Config.ReleaseBuffer();
- //}
- //
- //int i = 0;
- ////游戏类型
- //POSITION p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.wSubGameID = list.GetAt(p);
- ////底分
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.wPlayRule = list.GetAt(p);
- ////房费
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.wMaxFanRule = list.GetAt(p);
- ////IP限制
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.wMaxScore = list.GetAt(p);
- ////局数
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.wPlayCountRule = list.GetAt(p);
- ////是否房主
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.zmExtraRule = list.GetAt(p);
- ////胡法
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.bDuoLai = list.GetAt(p);
- ////玩法
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.wFengDing = list.GetAt(p);
- ////备用
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.tmp1 = list.GetAt(p);
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.tmp2 = list.GetAt(p);
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.tmp3 = list.GetAt(p);
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.tmp4 = list.GetAt(p);
- //p = list.FindIndex(i++);
- //if (p)
- // ActionAck2.ClubInfo.csGameConfig.tmp5 = list.GetAt(p);
-
- //查看群主是否开启房主选项
- //输入参数
- m_GameDBAide.ResetParameter();
-
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_PayChoice"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- int PayChoice = m_GameDBAide.GetValue_DWORD(TEXT("PayChoice"));
- if (PayChoice == 1 && ActionAck2.ClubInfo.csGameConfig.wMaxFanRule >= 10)
- {
- ActionAck2.ClubInfo.csGameConfig.wMaxFanRule -= 10;
- }
- }
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck2.Message, szDescribeString, 127 * sizeof(TCHAR));
-
- }
-
- //返回数据
- if (dwContextID == 0 && ActionAck2.ClubInfo.temp1 == 2)
- {
- CMD_GR_Club_Action_Ack2Ex2 ActionAck2Ex;
- ZeroMemory(&ActionAck2Ex, sizeof(ActionAck2Ex));
- ActionAck2Ex.dwUserID = pClubAction2->dwUserID;
- CopyMemory(&(ActionAck2Ex.Ack2), &ActionAck2, sizeof(ActionAck2));
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_AUTOTABLE_ACK, dwContextID, &ActionAck2Ex, sizeof(ActionAck2Ex));
- }
- else
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_ACK, dwContextID, &ActionAck2, sizeof(ActionAck2));
- }
-
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Get ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Get ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
-
- CString csTest;
-
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_Get ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return true;
- }
-
- return true;
- }
-
- //俱乐部加入
- bool CDataBaseEngineSink::OnRequestJoinClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestJoinClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestJoinClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction2 *pClubAction2 = (DBR_GR_ClubAction2*)pData;
- if (pClubAction2 == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Join"), true);
-
- //返回数据
- CMD_GR_Club_Action_Ack1 ActionAck1;
- ZeroMemory(&ActionAck1, sizeof(ActionAck1));
-
-
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck1.Result = 1;
-
- //传递参数
- DBR_GR_UserData UserData;
- ZeroMemory(&UserData, sizeof(UserData));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAdmInfo"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- int i = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 5){ break; }
- UserData.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBModule->MoveToNext();
- }
-
-
- //存储过程
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), UserData.dwUserID[0]);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetNewUser"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- UserData.newUserCount = m_GameDBAide.GetValue_DWORD(TEXT("UserCount"));
- }
-
- UserData.wUserCount = i + 1;
- UserData.newsFlag = 3;
- UserData.dwClubID = pClubAction2->dwClubID;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
-
- }
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck1.Message, szDescribeString, 127 * sizeof(TCHAR));
- }
-
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_JOIN_ACK, dwContextID, &ActionAck1, sizeof(ActionAck1));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Join ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Join ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Join ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Join ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部退出
- bool CDataBaseEngineSink::OnRequestQuitClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestQuitClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestQuitClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction2 *pClubAction2 = (DBR_GR_ClubAction2*)pData;
- if (pClubAction2 == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Quit"), true);
-
- //返回数据
- DBR_GR_Club_Action_Ack1 ActionAck1;
-
- ZeroMemory(&ActionAck1, sizeof(ActionAck1));
-
-
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck1.dwClubID = pClubAction2->dwClubID;
- ActionAck1.Result = 1;
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck1.Message, szDescribeString, 127 * sizeof(TCHAR));
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_QUIT_ACK, dwContextID, &ActionAck1, sizeof(ActionAck1));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Quit ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Quit ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Quit ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Quit ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部同意加入
- bool CDataBaseEngineSink::OnRequestAgreeClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestAgreeClub");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestAgreeClub"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction3 *pClubAction3 = (DBR_GR_ClubAction3*)pData;
- if (pClubAction3 == NULL)return false;
-
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction3->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction3->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@CurrentID"), pClubAction3->dwCurrentID);
- m_GameDBAide.AddParameter(TEXT("@Agree"), pClubAction3->Agree);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Agree"), true);
-
- //返回数据
- DBR_GR_Club_Action_Ack3 ActionAck3;
- ZeroMemory(&ActionAck3, sizeof(ActionAck3));
-
- if (DB_SUCCESS == lResultCode)
- {
- ActionAck3.dwUserID = pClubAction3->dwUserID;
- ActionAck3.dwClubID = pClubAction3->dwClubID;
- ActionAck3.Agree = pClubAction3->Agree;
- ActionAck3.Result = 1;
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ActionAck3.Message, szDescribeString, 127 * sizeof(TCHAR));
-
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_ISAGREE_ACK, dwContextID, &ActionAck3, sizeof(ActionAck3));
-
-
- //推送给其他用户
- if (DB_SUCCESS == lResultCode)
- {
- //返回数据
- DBR_GR_UserData UserData;
- ZeroMemory(&UserData, sizeof(UserData));
-
- if (pClubAction3->Agree == 1)
- {
- CString s = L"创建者同意您加入牌友圈";
- CString tmp;
- tmp.Format(_T("%d"), pClubAction3->dwClubID);
- s = s + tmp;
- _tcscpy(UserData.Message, s);
-
- UserData.dwUserID[0] = pClubAction3->dwUserID;
- UserData.wUserCount = 1;
- UserData.newsFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
-
- if (pClubAction3->Agree == 2)
- {
- CString s = L"创建者强制您退出牌友圈";
- CString tmp;
- tmp.Format(_T("%d"), pClubAction3->dwClubID);
- s = s + tmp;
- _tcscpy(UserData.Message, s);
-
- UserData.dwUserID[0] = pClubAction3->dwUserID;
- UserData.wUserCount = 1;
- UserData.newsFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
-
- if (pClubAction3->Agree == 13)
- {
- CString s = L"同意成为了群主牌友圈";
- CString tmp1;
- tmp1.Format(_T("%d"), pClubAction3->dwClubID);
- CString tmp2;
- tmp2.Format(_T("%d"), pClubAction3->dwCurrentID);
- s = tmp2 + s + tmp1;
- _tcscpy(UserData.Message, s);
-
- if (pClubAction3->dwUserID != 0)
- {
- UserData.dwUserID[0] = pClubAction3->dwUserID;
- UserData.wUserCount = 1;
- UserData.newsFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
- }
-
- //黑名单和管理员
- if (pClubAction3->Agree >=4 && pClubAction3->Agree <= 7 )
- {
- UserData.dwUserID[0] = pClubAction3->dwUserID;
- UserData.wUserCount = 1;
- UserData.newsFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
- }
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Agree ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Agree ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Agree ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Agree ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
- }
-
- //俱乐部在线信息
- //bool CDataBaseEngineSink::OnRequestGetClubOnLine(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- //{
- // OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubOnLine");
- // CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubOnLine"), TraceLevel_Debug);
- // CTimer Start;
- // try
- // {
- // DBR_GR_ClubOnLineRq *pClubAction2 = (DBR_GR_ClubOnLineRq*)pData;
- // if (pClubAction2 == NULL) return false;
- //
- // TCHAR szDescribeString[127];
- // ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- //
- //
- // //执行存储过程
- // LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAllUser"), true);
- //
- // //返回数据
- // DBR_GR_ClubOnLine ClubOnLine;
- // ZeroMemory(&ClubOnLine, sizeof(ClubOnLine));
- //
- // ClubOnLine.dwClubID = pClubAction2->dwClubID;
- // ClubOnLine.wStartIndex = pClubAction2->wStartIndex;
- // ClubOnLine.wCount = pClubAction2->wCount;
- //
- // int i = 0;
- // if (DB_SUCCESS == lResultCode)
- // {
- // while (m_GameDBModule->IsRecordsetEnd() == false)
- // {
- // if (i >= 1000){ break; }
- // ClubOnLine.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- // m_GameDBModule->MoveToNext();
- // }
- // }
- // ClubOnLine.wUserCount = i;
- //
- // //存储过程2
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- // //执行存储过程
- // lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetMessgeCount"), true);
- //
- // if (DB_SUCCESS == lResultCode)
- // {
- // ClubOnLine.wMessageCount = m_GameDBAide.GetValue_DWORD(TEXT("MessageCount"));
- // }
- //
- // //存储过程3
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- // //执行存储过程
- // lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetNewUser"), true);
- //
- // if (DB_SUCCESS == lResultCode)
- // {
- // ClubOnLine.wNewUserCount = m_GameDBAide.GetValue_DWORD(TEXT("UserCount"));
- // ClubOnLine.TableChoice = m_GameDBAide.GetValue_DWORD(TEXT("TableChoice"));
- //
- // //添加hostID用于群主刷新创建房间
- // int hostId = m_GameDBAide.GetValue_DWORD(TEXT("HostID"));
- // if (hostId == pClubAction2->dwUserID) ClubOnLine.isHost = 1;
- // }
- //
- //
- // //LYH 2018-11-2,初始化获取俱乐部玩法是否存在,0表示不开启,否者就存在
- // ClubOnLine.IsWanFa[0] = 1;
- // ClubOnLine.IsWanFa[1] = 0;
- // ClubOnLine.IsWanFa[2] = 0;
- //
- // //存储过程4
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- // //执行存储过程
- // lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetPlayConfig"), true);
- //
- // if (DB_SUCCESS == lResultCode)
- // {
- // //获取玩法配置 大玩法类型值
- // tagTableConfig tTableConfig;
- // ZeroMemory(&tTableConfig, sizeof(tagTableConfig));
- // TCHAR tcClubGameConfig[3][LEN_TABLE_CONFIG] = { 0 };
- // m_GameDBAide.GetValue_String(TEXT("ClubGameConfig"), tcClubGameConfig[0], LEN_TABLE_CONFIG);
- // m_GameDBAide.GetValue_String(TEXT("AddPlay1"), tcClubGameConfig[1], LEN_TABLE_CONFIG);
- // m_GameDBAide.GetValue_String(TEXT("AddPlay2"), tcClubGameConfig[2], LEN_TABLE_CONFIG);
- // for (int nIndex=0; nIndex < 3; nIndex++)
- // {
- // ZeroMemory(&tTableConfig, sizeof(tagTableConfig));
- // if (OnHandleCStringToConfig(tTableConfig, tcClubGameConfig[nIndex]))
- // {
- // ClubOnLine.IsWanFa[nIndex] = 1;
- // }
- // else
- // {
- // ClubOnLine.IsWanFa[nIndex] = 0;
- // }
- // }
- // }
- //
- //
- // int nSize = (ClubOnLine.wUserCount*sizeof(DWORD)) + (7 * sizeof(WORD)) + sizeof(DWORD) + (sizeof(BYTE)*CountArray(ClubOnLine.IsWanFa));
- // //返回数据
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_ONLINE_ACK, dwContextID, &ClubOnLine, nSize);
- // double dRet = Start.End();
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetNewUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetNewUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetNewUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetNewUser ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- //
- // return true;
- //
- //
- //}
-
- bool CDataBaseEngineSink::OnRequestGetClubOnLineEx(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
-
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubOnLineEx");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubOnLineEx"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubAction2 *pClubAction2 = (DBR_GR_ClubAction2*)pData;
- if (pClubAction2 == NULL || pClubAction2->dwClubID == 0)
- {
- CString csTest;
- csTest.Format(_T("俱乐部id不能为0,"));
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- return false;
- }
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
-
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAllUser"), true);
-
- //返回数据
- DBR_GR_ClubOnLine ClubOnLine;
- ZeroMemory(&ClubOnLine, sizeof(ClubOnLine));
-
- ClubOnLine.dwClubID = pClubAction2->dwClubID;
-
- int i = 0;
- if (DB_SUCCESS == lResultCode)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 1000){ break; }
- ClubOnLine.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBModule->MoveToNext();
- }
- }
- ClubOnLine.wUserCount = i;
-
- //存储过程2
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetMessgeCount"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- ClubOnLine.wMessageCount = m_GameDBAide.GetValue_DWORD(TEXT("MessageCount"));
- }
-
- //存储过程3
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetNewUser"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- ClubOnLine.wNewUserCount = m_GameDBAide.GetValue_DWORD(TEXT("UserCount"));
- ClubOnLine.TableChoice = m_GameDBAide.GetValue_DWORD(TEXT("TableChoice"));
- DWORD TempUserID = m_GameDBAide.GetValue_DWORD(TEXT("HostID"));
- if (TempUserID == pClubAction2->dwUserID)
- {
- ClubOnLine.isHost = 1;
- }
- }
- //LYH 2018-11-2
- ClubOnLine.IsWanFa[0] = 1;
- ClubOnLine.IsWanFa[1] = 0;
- ClubOnLine.IsWanFa[2] = 0;
- //存储过程4
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetPlayConfig"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- //获取玩法配置 大玩法类型值
- tagTableConfig tTableConfig;
- ZeroMemory(&tTableConfig, sizeof(tagTableConfig));
- TCHAR tcClubGameConfig[3][LEN_TABLE_CONFIG] = { 0 };
- m_GameDBAide.GetValue_String(TEXT("ClubGameConfig"), tcClubGameConfig[0], LEN_TABLE_CONFIG);
- m_GameDBAide.GetValue_String(TEXT("AddPlay1"), tcClubGameConfig[1], LEN_TABLE_CONFIG);
- m_GameDBAide.GetValue_String(TEXT("AddPlay2"), tcClubGameConfig[2], LEN_TABLE_CONFIG);
- for (int nIndex = 0; nIndex < 3; nIndex++)
- {
- ZeroMemory(&tTableConfig, sizeof(tagTableConfig));
- if (OnHandleCStringToConfig(tTableConfig, tcClubGameConfig[nIndex]))
- {
- ClubOnLine.IsWanFa[nIndex] = 1;
- }
- else
- {
- ClubOnLine.IsWanFa[nIndex] = 0;
- }
- }
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_ONLINE_ACKEX, dwContextID, &ClubOnLine, sizeof(ClubOnLine));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时GSP_GP_Club_GetMessgeCount----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetMessgeCount ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
-
- CString csTest;
-
- csTest.Format(_T("异常存储过程耗时 GSP_GP_Club_GetAllUser GSP_GP_Club_GetMessgeCount GSP_GP_Club_GetPlayConfig GSP_GP_Club_GetNewUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
-
- return true;
- }
-
- return true;
-
-
- }
-
-
- //俱乐部会员黑名单
- bool CDataBaseEngineSink::OnRequestGetClubBlackUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
-
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubBlackUser"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubUser2* pClubUser = (DBR_GR_ClubUser2*)pData;
- if (pClubUser == NULL) return false;
-
- //返回数据
- CMD_GR_ClubUser2_Ack ClubUserAck;
- ZeroMemory(&ClubUserAck, sizeof(ClubUserAck));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
- DWORD Role = 0;
-
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetRole"), true);
- if (DB_SUCCESS == lResultCode)
- {
- if (m_GameDBModule->GetRecordCount() == 1)
- {
- Role = m_GameDBAide.GetValue_DWORD(TEXT("ClubRole"));
- if (Role == 10)
- {
- ClubUserAck.cbHost = 1;
- }
- else if (Role == 3)
- {
- ClubUserAck.cbHost = 2;
- }
- }
- }
-
- ClubUserAck.dwClubID = pClubUser->dwClubID;
- ClubUserAck.cbKind = pClubUser->cbKind;
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("UserID"), pClubUser->dwUserID);
- m_GameDBAide.AddParameter(TEXT("ClubID"), pClubUser->dwClubID);
- m_GameDBAide.AddParameter(TEXT("Kind"), pClubUser->cbKind);
- m_GameDBAide.AddParameter(TEXT("TargetUserID"), pClubUser->dwTemp);
- m_GameDBAide.AddParameter(TEXT("StartIndex"), pClubUser->wStartIndex);
- m_GameDBAide.AddParameter(TEXT("Count"), pClubUser->wCount);
-
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetBlackUser"), true);
- if (DB_SUCCESS == lResultCode)
- {
- for (int i = 0; i < m_GameDBModule->GetRecordCount(); i++)
- {
- if (i >= 20) { break; }
- //构造数据
- CMD_S_MemberInfo ClubUser;
- ZeroMemory(&ClubUser, sizeof(ClubUser));
-
-
- ClubUser.dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- ClubUser.BangMaID = m_GameDBAide.GetValue_DWORD(TEXT("BangMa"));
- ClubUser.cbStaus = m_GameDBAide.GetValue_BYTE(TEXT("Agree"));
-
- //如果是查找黑名单
- if (pClubUser->cbKind == 2)
- {
- ClubUser.cbStaus = 2;
- }
- //如果是查找管理员
- if (pClubUser->cbKind == 3)
- {
- ClubUser.cbStaus = 3;
- }
-
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("UserName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(ClubUser.szName, CountArray(ClubUser.szName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(ClubUser.szName, CountArray(ClubUser.szName), TEXT("%s"), szOutBuffer);
- }
-
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), ClubUser.szHeadUrl, LEN_HEAD_URL);
-
- //复制数据
- CopyMemory(&(ClubUserAck.csMemberInfo[i]), &ClubUser, sizeof(ClubUser));
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- ClubUserAck.wCount = m_GameDBModule->GetRecordCount();
- if (ClubUserAck.wCount > 20){ ClubUserAck.wCount = 20; }
- }
-
- //返回数据
- int totalSize = ClubUserAck.wCount * sizeof(CMD_S_MemberInfo) + sizeof(WORD) + 2*sizeof(DWORD) + 2*sizeof(BYTE);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_BLACKUSER_ACK, dwContextID, &ClubUserAck, totalSize);
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetBlackUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetBlackUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetBlackUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetBlackUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部协议
- bool CDataBaseEngineSink::OnRequestGetClubProtocol(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubProtocol");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubProtocol"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubProtocol *pClubAction2 = (DBR_GR_ClubProtocol*)pData;
- if (pClubAction2 == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetProtocol"), true);
-
- //返回数据
- DBR_GR_ClubProtocolAgree ClubProtocolAgree;
- ZeroMemory(&ClubProtocolAgree, sizeof(ClubProtocolAgree));
-
- if (DB_SUCCESS == lResultCode)
- {
- ClubProtocolAgree.dwUserID = pClubAction2->dwUserID;
- ClubProtocolAgree.dwClubID = pClubAction2->dwClubID;
- ClubProtocolAgree.cbAgree = m_GameDBAide.GetValue_BYTE(TEXT("Protocol"));
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_PROTOCOL_ACK, dwContextID, &ClubProtocolAgree, sizeof(ClubProtocolAgree));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部协议同意
- bool CDataBaseEngineSink::OnRequestGetClubProtocolAgree(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubProtocolAgree");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubProtocolAgree"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_ClubProtocolAgree *pClubAction2 = (DBR_GR_ClubProtocolAgree*)pData;
- if (pClubAction2 == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubAction2->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubAction2->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@Agree"), pClubAction2->cbAgree);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_AgreeProtocol"), true);
-
- //返回数据
- DBR_GR_Club_Action_Ack1 ClubProtocolAgree;
- ZeroMemory(&ClubProtocolAgree, sizeof(ClubProtocolAgree));
-
- if (DB_SUCCESS == lResultCode)
- {
- ClubProtocolAgree.dwClubID = pClubAction2->dwClubID;
- ClubProtocolAgree.Result = 1;
- }
- else
- {
- //获取参数
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- ZeroMemory(szDescribeString, sizeof(szDescribeString));
- lstrcpyn(szDescribeString, CW2CT(DBVarValue.bstrVal), sizeof(szDescribeString));
- CopyMemory(ClubProtocolAgree.Message, szDescribeString, 127 * sizeof(TCHAR));
-
- }
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_PROTOCOLAGREE_ACK, dwContextID, &ClubProtocolAgree, sizeof(ClubProtocolAgree));
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_AgreeProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_AgreeProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_AgreeProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_AgreeProtocol ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //查询群主信息(自动创房和群主支付创房)
- bool CDataBaseEngineSink::OnRequestGetClubHostInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubHostInfo");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubHostInfo"), TraceLevel_Debug);
- CTimer Start;
- try
- {
-
- CMD_GR_UserSitDownEx2 *pUserSitDown = (CMD_GR_UserSitDownEx2*)pData;
- if (pUserSitDown == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pUserSitDown->data.clubID);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetHostInfo"), true);
-
- //返回数据
- void * pBuffer = NULL;
-
- try
- {
- pBuffer = malloc(sizeof(DBR_GR_UserSitDownEx2) + sizeof(tagGameConfig) + 5 * sizeof(CMD_GR_UserInfo));
- ZeroMemory(pBuffer, sizeof(DBR_GR_UserSitDownEx2) + sizeof(tagGameConfig) + 5 * sizeof(CMD_GR_UserInfo));
-
- DBR_GR_UserSitDownEx3 * pEx = (DBR_GR_UserSitDownEx3 *)pBuffer;
- CopyMemory(&(pEx->UserSitDownData), pUserSitDown, sizeof(CMD_GR_UserSitDownEx2));
- CopyMemory(&(pEx->UserSitDownData.data.TableConfig), pUserSitDown->data.TableConfig, sizeof(tagGameConfig));
-
- if (DB_SUCCESS == lResultCode)
- {
- pEx->currCurrency = m_GameDBAide.GetValue_DWORD(TEXT("Currency"));
- pEx->UserSitDownData.hostInfo.dwOwnerID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
-
- }
-
- //执行存储过程2 找管理员的信息
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pUserSitDown->data.clubID);
-
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAdmInfo"), true);
-
- if (DB_SUCCESS == lResultCode)
- {
- int i = 0;
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 5){ break; }
- pEx->AdmInfo[i].dwOwnerID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBAide.GetValue_String(TEXT("HeadUrl"), pEx->AdmInfo[i].szHeadUrl, sizeof(pEx->AdmInfo[i].szHeadUrl));
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("NickName"), szBuffer, 128);
-
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(pEx->AdmInfo[i].szHostName, CountArray(pEx->AdmInfo[i].szHostName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(pEx->AdmInfo[i].szHostName, CountArray(pEx->AdmInfo[i].szHostName), TEXT("%s"), szOutBuffer);
- }
- i++;
- m_GameDBModule->MoveToNext();
- }
-
- }
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pUserSitDown->data.clubID);
- //执行存储过程
- LONG lResultCodes = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Sample_Select"), true);
-
- //返回数据
- DBR_GR_Club_Make_A_Sample Sample;
-
- ZeroMemory(&Sample, sizeof(Sample));
-
-
- if (DB_SUCCESS == lResultCodes)
- {
- pEx->UserSitDownData.data.cbCreateTable = m_GameDBAide.GetValue_DWORD(TEXT("Sample"));
- }
-
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_HOSTINFO_ACK, dwContextID, pBuffer, sizeof(DBR_GR_UserSitDownEx2) + sizeof(tagGameConfig) + 5 * sizeof(CMD_GR_UserInfo));
-
- if (pBuffer) free(pBuffer);
- pBuffer = NULL;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- if (pBuffer) free(pBuffer);
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdmInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdmInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdmInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdmInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
- //俱乐部打样
- bool CDataBaseEngineSink::OnRequestGetClubSample(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubSample");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubSample"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- DBR_GR_Club_Make_A_Sample *pSample = (DBR_GR_Club_Make_A_Sample*)pData;
- if (pSample == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pSample->dwClubID);
- //执行存储过程
- LONG lResultCodes = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Sample_Select"), true);
-
-
- if (DB_SUCCESS == lResultCodes)
- {
- pSample->IsSample = m_GameDBAide.GetValue_DWORD(TEXT("Sample"));
- }
- //查询出这个俱乐部上次打样状态,取反存入数据库并发送前端
- if (pSample->IsSample == 0)
- {
- pSample->IsSample = 1;
- }
- else
- {
- pSample->IsSample = 0;
- }
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pSample->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@Sample"), pSample->IsSample);
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_Sample"), true);
-
- //返回数据
- DBR_GR_Club_Make_A_Sample Sample;
-
- ZeroMemory(&Sample, sizeof(Sample));
-
-
- if (DB_SUCCESS == lResultCode)
- {
- Sample.dwClubID = pSample->dwClubID;
- Sample.IsSample = pSample->IsSample;
- }
- else
- {
- Sample.dwClubID = pSample->dwClubID;
- Sample.IsSample = pSample->IsSample;
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_GET_MAKEA_SAMPLE_ACK, dwContextID, &Sample, sizeof(Sample));
-
- //推送给其他用户
- if (DB_SUCCESS == lResultCode)
- {
- //输入参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pSample->dwClubID);
-
- //执行存储过程
- lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAllUser"), true);
-
- //返回数据
- DBR_GR_UserData UserData;
- ZeroMemory(&UserData, sizeof(UserData));
-
-
- int i = 0;
- if (DB_SUCCESS == lResultCode)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 1000){ break; }
- UserData.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- m_GameDBModule->MoveToNext();
- }
- }
- UserData.dwClubID = pSample->dwClubID;
- UserData.wUserCount = i;
- if (pSample->IsSample == 1)
- {
- UserData.newsFlag = 100;
- }
- else
- {
- UserData.newsFlag = 99;
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
- }
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Sample ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Sample ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Sample ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_Sample ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
-
-
- //查询公告
- bool CDataBaseEngineSink::OnRequestGetClubNotice(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestGetClubNotice");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestGetClubNotice"), TraceLevel_Debug);
- CTimer Start;
- try
- {
-
- DBR_GR_ClubNotice *pClubNotice= (DBR_GR_ClubNotice*)pData;
- if (pClubNotice == NULL) return false;
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubNotice->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@UserID"), pClubNotice->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@Type"), pClubNotice->cbType);
- m_GameDBAide.AddParameter(TEXT("@Message"), pClubNotice->Message);
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetClubNotice"), true);
-
- //返回数据
- DBR_GR_ClubNotice_ACK ClubNoticeAck;
- ZeroMemory(&ClubNoticeAck, sizeof(ClubNoticeAck));
- ClubNoticeAck.cbType = pClubNotice->cbType;
- ClubNoticeAck.dwClubID = pClubNotice->dwClubID;
-
- if (DB_SUCCESS == lResultCode)
- {
- ClubNoticeAck.Result = 1;
- m_GameDBAide.GetValue_String(TEXT("ClubMessage"), ClubNoticeAck.Message, sizeof(ClubNoticeAck.Message));
- }
- else
- {
- CDBVarValue DBVarValue;
- m_GameDBAide.GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- lstrcpyn(ClubNoticeAck.Message, CW2CT(DBVarValue.bstrVal), CountArray(ClubNoticeAck.Message));
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTICE_ACK, dwContextID, &ClubNoticeAck, sizeof(ClubNoticeAck));
-
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetClubNotice ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetClubNotice ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetClubNotice ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetClubNotice ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
-
-
- //通知所有用户
- bool CDataBaseEngineSink::OnRequestNotifyAlluser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestNotifyAlluser");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestNotifyAlluser"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- //输入参数
- CMD_GR_UserData *pUserData = (CMD_GR_UserData*)pData;
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pUserData->dwClubID);
-
- //返回数据
- DBR_GR_UserData UserData;
- ZeroMemory(&UserData, sizeof(UserData));
-
- if (pUserData->newsFlag == 4)
- {
-
- if (pUserData->dwUserId == 0)
- {
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetHostInfo"), true);
- if (DB_SUCCESS == lResultCode)
- {
- UserData.dwUserID[0] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- }
- }
- else
- {
- UserData.dwUserID[0] = pUserData->dwUserId;
- }
-
- UserData.wUserCount = 1;
- }
- else
- {
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_GetAllUser"), true);
-
- int i = 0;
- if (DB_SUCCESS == lResultCode)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- if (i >= 1000){ break; }
- UserData.dwUserID[i++] = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
-
- m_GameDBModule->MoveToNext();
- }
- }
- UserData.wUserCount = i;
- }
-
- UserData.newsFlag = pUserData->newsFlag;
- UserData.dwClubID = pUserData->dwClubID;
-
- CopyMemory(UserData.Message, pUserData->Message, sizeof(UserData.Message));
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_NOTIFY_ACK, dwContextID, &UserData, sizeof(UserData));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAllUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAllUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAllUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(0000) && CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(dwUserID))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAllUser ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
- //群主解散俱乐部房间
- bool CDataBaseEngineSink::OnRequestClubDissolveRoom(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- OutputDebugStringA("CDataBaseEngineSink::OnRequestClubDissolveRoom");
- CTraceService::TraceString(TEXT("CDataBaseEngineSink::OnRequestClubDissolveRoom"), TraceLevel_Debug);
- CTimer Start;
- try
- {
- //输入参数
- DBR_GR_ClubDissolveRoom *pClubData = (DBR_GR_ClubDissolveRoom*)pData;
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@ClubID"), pClubData->dwClubID);
- m_GameDBAide.AddParameter(TEXT("@dwUserId"), pClubData->dwUserID);
- //执行存储过程
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GP_Club_AdminDisTable"), true);
-
- DBR_GR_ClubDissolveRoom ClubDissolveRoom = { 0 };
- memcpy(&ClubDissolveRoom, pClubData, sizeof(ClubDissolveRoom));
- ClubDissolveRoom.cbIsAdmin = lResultCode;
- /*if (DB_SUCCESS == lResultCode)
- {
- while (m_GameDBModule->IsRecordsetEnd() == false)
- {
- DWORD dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID"));
- if (dwUserID == pClubData->dwUserID)
- {
- ClubDissolveRoom.cbIsAdmin = 1;
- break;
- }
- m_GameDBModule->MoveToNext();
- }
- }*/
-
- //if (ClubDissolveRoom.cbIsAdmin == 1)
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GR_CLUB_DISSOLVEROOM_ACK, dwContextID, &ClubDissolveRoom, sizeof(ClubDissolveRoom));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdmInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_Club_GetAdmInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
-
- return true;
-
- }
- //////////////////////////////////////////////////////////////////////////////////
-
- ///---拉取胜局榜列表 \存储过程\数据库SQL\DataBase\Script\Platform\存储过程\金币数据库\游戏写分.sql
- //bool CDataBaseEngineSink::OnRequestTopWinList(DWORD dwContextID, VOID * pData, WORD wDataSize)
- //{
- // CTimer Start;
- // try
- // {
- // //变量定义
- // WORD wPacketSize = 0;
- // BYTE cbBuffer[MAX_ASYNCHRONISM_DATA] = { 0 };
- //
- // //加载类型
- // m_TreasureDBAide.ResetParameter();
- // m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_TopGameScore"), true);
- //
- // //发送种类
- // wPacketSize = 0;
- // tagTopWinInfo * pTopWinInfo = NULL;
- // while (m_TreasureDBModule->IsRecordsetEnd() == false)
- // {
- // //发送信息
- // if ((wPacketSize + sizeof(tagTopWinInfo)) > sizeof(cbBuffer))
- // {
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TOP_WIN_LIST_RESULT, dwContextID, cbBuffer, wPacketSize);
- // wPacketSize = 0;
- // }
- //
- // //读取信息
- // pTopWinInfo = (tagTopWinInfo *)(cbBuffer + wPacketSize);
- // pTopWinInfo->dwUserID = m_TreasureDBAide.GetValue_DWORD(TEXT("UserID"));
- //
- // //m_TreasureDBAide.GetValue_String(TEXT("NickName"), pTopWinInfo->szNickname, CountArray(pTopWinInfo->szNickname)); ///昵称要解码
- //
- // TCHAR szBuffer[128] = { 0 };
- // ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- // m_TreasureDBAide.GetValue_String(TEXT("NickName"), szBuffer, 128);
- // TCHAR szOutBuffer[128] = { 0 };
- // ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
- //
- // //解码
- // int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- // if (iRet == -1)
- // {
- // szBuffer[32] = 0x0;
- // _sntprintf(pTopWinInfo->szNickname, CountArray(pTopWinInfo->szNickname), TEXT("%s"), szBuffer);
- // }
- // else
- // {
- // szOutBuffer[32] = 0x0;
- // _sntprintf(pTopWinInfo->szNickname, CountArray(pTopWinInfo->szNickname), TEXT("%s"), szOutBuffer);
- // }
- //
- // m_TreasureDBAide.GetValue_String(TEXT("HeadUrl"), pTopWinInfo->szHeadUrl, CountArray(pTopWinInfo->szHeadUrl));
- //
- // pTopWinInfo->iBingID = m_TreasureDBAide.GetValue_INT(TEXT("BingID"));
- //
- // //pTopWinInfo->lScore = m_TreasureDBAide.GetValue_LONGLONG(TEXT("Score"));
- // pTopWinInfo->dwWinCount = m_TreasureDBAide.GetValue_DWORD(TEXT("WinCount"));
- //
- // DWORD dwLostCount = m_TreasureDBAide.GetValue_DWORD(TEXT("LostCount"));
- // DWORD dwDrawCount = m_TreasureDBAide.GetValue_DWORD(TEXT("DrawCount"));
- // DWORD dwFleeCount = m_TreasureDBAide.GetValue_DWORD(TEXT("FleeCount"));
- //
- // //总局数
- // pTopWinInfo->dwTotalCount = pTopWinInfo->dwWinCount + dwLostCount + dwDrawCount + dwFleeCount;
- //
- // //设置位移
- // wPacketSize += sizeof(tagTopWinInfo);
- //
- // //移动记录
- // m_TreasureDBModule->MoveToNext();
- // }
- //
- // if (wPacketSize > 0)
- // {
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GR_TOP_WIN_LIST_RESULT, dwContextID, cbBuffer, wPacketSize);
- // }
- //
- //
- // double dRet = Start.End();
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- // csTest.Format(_T("存储过程耗时 GSP_GR_TopGameScore ----> %.3f "), dRet);
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //错误信息
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- //
- // return false;
- // }
- //
- // return true;
- //}
- //
- /////---查询破产信息
- //bool CDataBaseEngineSink::OnRequestReliefInfo(DWORD dwContextID, VOID * pData, WORD wDataSize)
- //{
- // CTimer Start;
- // try
- // {
- // DWORD* pDwUserID = (DWORD*)(pData);
- //
- // if (0 == *pDwUserID)
- // {
- // ASSERT(FALSE);
- // return false;
- // }
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), *pDwUserID);
- //
- // TCHAR szDescribeString[127];
- // ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- // m_GameDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行查询 \存储过程\存储过程\金币_破产领取.sql
- // LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_ReliefInfo"), true);
- //
- // //结果处理
- // CDBVarValue DBVarValue;
- // m_GameDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
- //
- // tagReliefInfo reliefInfo;
- // if (lResultCode == DB_SUCCESS)
- // {
- // reliefInfo.wTotalCount = m_GameDBAide.GetValue_INT(_T("ReliefCount")); ///---每天能领取的总次数
- // reliefInfo.wGetCount = m_GameDBAide.GetValue_INT(_T("TodayReliefCount")); ///---已经领取次数
- // reliefInfo.dwReliefScore = m_GameDBAide.GetValue_INT(_T("ReliefScore")); ///---救济额度
- //
- // //m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_RELIEF_INFO_ACK, dwContextID, &reliefInfo, sizeof(reliefInfo));
- // }
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_RELIEF_INFO_ACK, dwContextID, &reliefInfo, sizeof(reliefInfo));
- //
- //
- // double dRet = Start.End();
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- // csTest.Format(_T("存储过程耗时 GSP_GR_ReliefInfo ----> %.3f "), dRet);
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- //
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 OnRequestReliefInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // }
- //
- // return false;
- //}
- //
- //
- /////---破产领取 \doc\存储过程\存储过程\金币_破产领取.sql
- //bool CDataBaseEngineSink::OnRequestGetRelief(DWORD dwContextID, VOID * pData, WORD wDataSize)
- //{
- // CTimer Start;
- // try
- // {
- // DBR_GR_GetRelief* pGetRelief = (DBR_GR_GetRelief*)(pData);
- //
- // if (0 == pGetRelief->dwUserID)
- // {
- // ASSERT(FALSE);
- // return false;
- // }
- //
- // //转化地址
- // TCHAR szClientAddr[16] = TEXT("");
- // BYTE * pClientAddr = (BYTE *)&pGetRelief->dwClientAddr;
- // _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
- //
- //
- // TCHAR szDescribeString[127];
- // ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //
- // //构造参数
- // m_GameDBAide.ResetParameter();
- // m_GameDBAide.AddParameter(TEXT("@dwUserID"), pGetRelief->dwUserID);
- // m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- // m_GameDBAide.AddParameter(TEXT("@strMachineID"), pGetRelief->szMachineID);
- //
- // m_GameDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //
- // //执行查询
- // LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_GetRelief"), true);
- //
- // //结果处理
- // CDBVarValue DBVarValue;
- // m_GameDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
- //
- // tagReliefScore reliefScore;
- // if (lResultCode == DB_SUCCESS)
- // {
- // reliefScore.dwReliefScore = m_GameDBAide.GetValue_DWORD(_T("GetReliefScore")); ///救济金额
- // reliefScore.lCurrScore = m_GameDBAide.GetValue_LONGLONG(_T("CurrScore")); ///最新携带金币
- // m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_RELIEF_INFO_ACK, dwContextID, &reliefScore, sizeof(reliefScore));
- // }
- // else
- // {
- // ///没有救济可领,就不要下发了?
- // TCHAR szHint[256] = { 0 };
- // swprintf(szHint, TEXT("救济领取[%d]%s"), pGetRelief->dwUserID, static_cast<LPCWSTR>(DBVarValue.bstrVal));
- // CTraceService::TraceString(szHint, TraceLevel_Normal);
- // }
- //
- // double dRet = Start.End();
- //
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- // csTest.Format(_T("存储过程耗时 领取救济 GSP_GR_GetRelief ----> %.3f "), dRet);
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // return true;
- // }
- // catch (IDataBaseException * pIException)
- // {
- // //输出错误
- // CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- // double dRet = Start.End();
- // if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- // {
- // CString csTest;
- //
- // csTest.Format(_T("存储过程耗时 OnRequestReliefInfo ----> %.3f "), dRet);
- //
- // //提示消息
- // CTraceService::TraceString(csTest, TraceLevel_Normal);
- // }
- // }
- //
- // return false;
- //}
-
-
- //转盘奖品配置列表
- bool CDataBaseEngineSink::OnRequestRouletteConfig(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- //构造参数
- m_TreasureDBAide.ResetParameter();
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_RouletteConfig"), true);
-
- //变量定义
- WORD wPacketSize = 0;
- BYTE cbBuffer[MAX_ASYNCHRONISM_DATA] = { 0 };
-
- ///+++1透传的数据(不用了,只有一种抽奖方式)
- //memcpy(cbBuffer, pData, wDataSize);
- //wPacketSize += wDataSize;
-
- wPacketSize = 0;
- tagRouletteConfig * pRouletteCfg = NULL;
- while (!m_TreasureDBModule->IsRecordsetEnd())
- {
- //发送信息
- if ((wPacketSize + sizeof(tagRouletteConfig)) > sizeof(cbBuffer))
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_ROULETTE_CONFIG_ACK, dwContextID, cbBuffer, wPacketSize);
- wPacketSize = 0;
- }
-
- //读取信息
- pRouletteCfg = (tagRouletteConfig *)(cbBuffer + wPacketSize);
-
- pRouletteCfg->wID = m_TreasureDBAide.GetValue_WORD(TEXT("ID"));
- m_TreasureDBAide.GetValue_String(TEXT("Name"), pRouletteCfg->szName, CountArray(pRouletteCfg->szName)); //--奖品名称
- m_TreasureDBAide.GetValue_String(TEXT("ICON"), pRouletteCfg->szICON, CountArray(pRouletteCfg->szICON)); //--奖品图像
- pRouletteCfg->wProperty = m_TreasureDBAide.GetValue_WORD(TEXT("Property")); //--奖励值
- pRouletteCfg->wType = m_TreasureDBAide.GetValue_WORD(TEXT("Type")); //--类型 1:钻石 2:金币 3:话费 4:实物1 5:实物2 ...
- pRouletteCfg->wOdds = m_TreasureDBAide.GetValue_WORD(TEXT("Odds")); //--概率值
- pRouletteCfg->iQuantity = m_TreasureDBAide.GetValue_INT(TEXT("Quantity"));
-
- //设置位移
- wPacketSize += sizeof(tagRouletteConfig);
-
- //移动记录
- m_TreasureDBModule->MoveToNext();
- }
-
- if (wPacketSize > 0)
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_ROULETTE_CONFIG_ACK, dwContextID, cbBuffer, wPacketSize);
- }
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(3333))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 OnRequestRouletteConfig ----> %.3f wPacketSize=%d"), dRet, wPacketSize);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- return false;
- }
- }
-
-
- ///---我的转盘配置信息
- bool CDataBaseEngineSink::OnRequestRouletteConfig_new(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DWORD));
- if (wDataSize != sizeof(DWORD))
- {
- return false;
- }
-
- //请求处理
- DWORD * pdwUserID = (DWORD *)pData;
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), *pdwUserID);
- m_TreasureDBAide.AddParameter(TEXT("@wLotteryType"), 0); ///--轮盘抽奖
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_RouletteConfig_new"), true);
-
- //变量定义
- tagRouletteConfig2 rouletteConfig2;
-
- rouletteConfig2.wResult = lResultCode;
-
- //出参
- CDBVarValue DBVarValue;
- m_TreasureDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
- lstrcpyn(rouletteConfig2.szDesc, CW2CT(DBVarValue.bstrVal), CountArray(rouletteConfig2.szDesc));
-
-
- //结果处理
- if (lResultCode == DB_SUCCESS)
- {
- rouletteConfig2.wID = m_TreasureDBAide.GetValue_WORD(TEXT("ID")); //奖品ID
- m_TreasureDBAide.GetValue_String(TEXT("ICON"), rouletteConfig2.szICON, CountArray(rouletteConfig2.szICON)); //--奖品图像
- rouletteConfig2.wHadLotteryCount = m_TreasureDBAide.GetValue_WORD(TEXT("HadLotteryCount")); //“我”已抽奖次数
- rouletteConfig2.wLotteryCountPara = m_TreasureDBAide.GetValue_WORD(TEXT("LotteryCountPara")); //“我”可抽奖总次数
- //新转盘功能
- rouletteConfig2.wLotteryLimit = m_TreasureDBAide.GetValue_WORD(TEXT("LotteryLimit")); //抽奖限制
- rouletteConfig2.wInningValue = m_TreasureDBAide.GetValue_WORD(TEXT("InningValue")); //局数标准
- rouletteConfig2.wRechargeValue = m_TreasureDBAide.GetValue_WORD(TEXT("RechargeValue")); //充值标准
- rouletteConfig2.wInningInfo[0] = m_TreasureDBAide.GetValue_WORD(TEXT("InningInfo1")); //局数详情 前天
- rouletteConfig2.wInningInfo[1] = m_TreasureDBAide.GetValue_WORD(TEXT("InningInfo2")); //局数详情 昨天
- rouletteConfig2.wInningInfo[2] = m_TreasureDBAide.GetValue_WORD(TEXT("InningInfo3")); //局数详情 今天
- rouletteConfig2.cbRechargeInfo = m_TreasureDBAide.GetValue_BYTE(TEXT("RechargeInfo")); //充值详情
- m_TreasureDBAide.GetValue_String(TEXT("LotteryRule"), rouletteConfig2.szLotteryRule, CountArray(rouletteConfig2.szLotteryRule)); //--抽奖规则
- }
-
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_MY_ROULETTE_INFO_ACK, dwContextID, &rouletteConfig2, sizeof(rouletteConfig2));
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GR_RouletteConfig_new ----> %.3f"), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- return false;
- }
- }
-
-
-
- //记录轮盘抽奖
- bool CDataBaseEngineSink::OnRecordRouletteLottery(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- DBR_GR_RouletteLottery* pLottery = (DBR_GR_RouletteLottery*)(pData);
-
- if (0 == pLottery->dwUserID)
- {
- ASSERT(FALSE);
- return false;
- }
-
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pLottery->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLottery->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@wLotteryType"), pLottery->wLotteryType); //抽奖类型(0: 轮盘抽奖 1: 玩牌抽奖) add 2017-12-29
-
- m_GameDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_GameDBAide.AddParameter(TEXT("@strMachineID"), pLottery->szMachineID);
-
- m_GameDBAide.AddParameter(TEXT("@wRouletteLotteryID"), pLottery->wRouletteLotteryID);
- m_GameDBAide.AddParameter(TEXT("@strLotteryName"), pLottery->szLotteryName);
-
- m_GameDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_RouletteLottery"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
-
- //抽奖结果
- tagLotteryResultEx rouletteLottery;
- rouletteLottery.LotteryResult.wLotteryType = pLottery->wLotteryType; ///+++记录抽奖类型
-
- rouletteLottery.LotteryResult.wResult = lResultCode;
- if (lResultCode == DB_SUCCESS)
- {
- ///---成功则为奖品名称
- m_GameDBAide.GetValue_String(TEXT("strLotteryName"), rouletteLottery.LotteryResult.szDesc, CountArray(rouletteLottery.LotteryResult.szDesc)); //--奖品名称
- rouletteLottery.LotteryResult.wRouletteLotterID = m_GameDBAide.GetValue_WORD(TEXT("RouletteLotteryID")); //++奖品ID
- rouletteLottery.LotteryResult.wHadLotteryCount = m_GameDBAide.GetValue_WORD(TEXT("TodayLotteryCount")); //++“我”已抽奖次数
- rouletteLottery.LotteryResult.wLotteryCountPara = m_GameDBAide.GetValue_WORD(TEXT("LotteryCountPara")); //++抽奖总次数
-
- ///+++最新携带
- rouletteLottery.LotteryResult.lScore = m_GameDBAide.GetValue_LONGLONG(TEXT("Score")); ///--携带金币
- rouletteLottery.LotteryResult.dwBean = m_GameDBAide.GetValue_DWORD(TEXT("Bean")); ///--携带钻石
-
- m_GameDBAide.GetValue_String(TEXT("PhoneNum"), rouletteLottery.szPhoneNum, CountArray(rouletteLottery.szPhoneNum)); //--手机号码
- rouletteLottery.wAwardType = m_GameDBAide.GetValue_WORD(TEXT("AwardType")); //--奖品类型
- rouletteLottery.dwRecordID = m_GameDBAide.GetValue_DWORD(TEXT("RecordID"));
- }
- else
- {
- lstrcpyn(rouletteLottery.LotteryResult.szDesc, CW2CT(DBVarValue.bstrVal), CountArray(rouletteLottery.LotteryResult.szDesc));
- }
-
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_ROULETTE_LOTTERY_ACK, dwContextID, &rouletteLottery, sizeof(rouletteLottery));
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 轮盘抽奖 OnRecordRouletteLottery ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 OnRecordRouletteLottery ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return false;
- }
-
-
- ///+++加载签到奖励配置
- bool CDataBaseEngineSink::OnRequestCheckInReward(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- //构造参数
- m_PlatformDBAide.ResetParameter();
-
- //执行命令 SELECT * FROM SigninConfig
- LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GP_LoadCheckInReward"), true);
-
- //7天奖励
- tagCheckinReward chkReward[LEN_WEEK];
- ZeroMemory(&chkReward, sizeof(chkReward));
-
- //执行成功
- if (lResultCode == DB_SUCCESS)
- {
- //变量定义
- WORD wDayIndex = 0;
- while (m_PlatformDBModule->IsRecordsetEnd() == false)
- {
- wDayIndex = m_PlatformDBAide.GetValue_WORD(TEXT("DayID"));
- if (wDayIndex <= LEN_WEEK)
- {
- chkReward[wDayIndex - 1].lRewardGold = m_PlatformDBAide.GetValue_LONGLONG(TEXT("RewardGold"));
- chkReward[wDayIndex - 1].iRewardCurrency = m_PlatformDBAide.GetValue_INT(TEXT("RewardCurrency"));
- }
-
- //移动记录
- m_PlatformDBModule->MoveToNext();
- }
-
- //投递结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_CHECKIN_REWARD, dwContextID, &chkReward, sizeof(chkReward));
- }
- else
- {
- CString strHint;
- strHint.Format(L"签到奖励配置读取失败[GSP_GP_LoadCheckInReward]");
- //提示消息
- CTraceService::TraceString(strHint, TraceLevel_Warning);
- }
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 签到奖励配置 OnRequestCheckInReward ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
-
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- return false;
- }
-
- return true;
- }
-
-
- //查询签到信息
- bool CDataBaseEngineSink::OnRequestCheckInQueryInfo(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DWORD));
- if (wDataSize != sizeof(DWORD))
- {
- return false;
- }
-
- //请求处理
- DWORD * pdwUserID = (DWORD *)pData;
-
- //构造参数
- m_PlatformDBAide.ResetParameter();
- m_PlatformDBAide.AddParameter(TEXT("@dwUserID"), *pdwUserID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行脚本
- LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_CheckInQueryInfo"), true);
-
- //变量定义
- tagCheckInInfo CheckInInfo;
- ZeroMemory(&CheckInInfo, sizeof(CheckInInfo));
-
- CheckInInfo.bSuccessed = false;
- //出参
- CDBVarValue DBVarValue;
- m_PlatformDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- lstrcpyn(CheckInInfo.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(CheckInInfo.szNotifyContent));
-
- //结果处理
- if (lResultCode == DB_SUCCESS)
- {
- CheckInInfo.bSuccessed = true;
- CheckInInfo.wSeriesDate = m_PlatformDBAide.GetValue_WORD(TEXT("SeriesDate")); ///连续签到的天数
- CheckInInfo.bTodayChecked = 1==(m_PlatformDBAide.GetValue_BYTE(TEXT("TodayCheckIned"))); ///今天是否签到
- }
-
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_CHECKIN_INFO, dwContextID, &CheckInInfo, sizeof(CheckInInfo));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 查询签到信息 OnRequestCheckInQueryInfo ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
-
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 查询签到信息 OnRequestCheckInQueryInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- //构造结构
- tagCheckInInfo CheckInInfo;
- ZeroMemory(&CheckInInfo, sizeof(CheckInInfo));
-
- CheckInInfo.bSuccessed = false;
- lstrcpyn(CheckInInfo.szNotifyContent, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(CheckInInfo.szNotifyContent));
-
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_CHECKIN_INFO, dwContextID, &CheckInInfo, sizeof(CheckInInfo));
-
- return false;
- }
- }
-
- //执行签到
- bool CDataBaseEngineSink::OnRequestCheckInDone(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(tagCheckInDone));
- if (wDataSize != sizeof(tagCheckInDone))
- {
- return false;
- }
-
- //请求处理
- tagCheckInDone * pCheckInDone = (tagCheckInDone *)pData;
-
- //转化地址
- TCHAR szClientAddr[16] = TEXT("");
- BYTE * pClientAddr = (BYTE *)&pCheckInDone->dwClientAddr;
- _sntprintf(szClientAddr, CountArray(szClientAddr), TEXT("%d.%d.%d.%d"), pClientAddr[0], pClientAddr[1], pClientAddr[2], pClientAddr[3]);
-
- //构造参数
- m_PlatformDBAide.ResetParameter();
- m_PlatformDBAide.AddParameter(TEXT("@dwUserID"), pCheckInDone->dwUserID);
- m_PlatformDBAide.AddParameter(TEXT("@strClientIP"), szClientAddr);
- m_PlatformDBAide.AddParameter(TEXT("@strMachineID"), pCheckInDone->szMachineID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行脚本
- LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GR_CheckInDone"), true);
-
- //签到结果
- tagCheckInResult CheckInResult;
- ZeroMemory(&CheckInResult, sizeof(CheckInResult));
- ///===CheckInResult.bSuccessed = false;
- CheckInResult.btSuccessed = 0;
-
- //出参
- CDBVarValue DBVarValue;
- m_PlatformDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- lstrcpyn(CheckInResult.szNotifyContent, CW2CT(DBVarValue.bstrVal), CountArray(CheckInResult.szNotifyContent));
-
-
- //读取分数
- if (lResultCode == DB_SUCCESS)
- {
- ///===CheckInResult.bSuccessed = true;
- CheckInResult.btSuccessed = 1;
- CheckInResult.lScore = m_PlatformDBAide.GetValue_LONGLONG(TEXT("Score"));
- CheckInResult.dwBean = m_PlatformDBAide.GetValue_DWORD(TEXT("Bean"));
- }
-
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_CHECKIN_RESULT, dwContextID, &CheckInResult, sizeof(CheckInResult));
-
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- //构造结构
- tagCheckInResult CheckInResult;
- ///===CheckInResult.bSuccessed = false;
- CheckInResult.btSuccessed = 0;
- lstrcpyn(CheckInResult.szNotifyContent, TEXT("由于数据库操作异常,请您稍后重试!"), CountArray(CheckInResult.szNotifyContent));
-
- //发送结果
- WORD wSendSize = sizeof(CheckInResult) - sizeof(CheckInResult.szNotifyContent) + CountStringBuffer(CheckInResult.szNotifyContent);
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBO_GP_CHECKIN_RESULT, dwContextID, &CheckInResult, wSendSize);
-
- return false;
- }
-
-
- }
-
-
-
- //查询抽奖信息
- bool CDataBaseEngineSink::OnQueryLotteryInfo(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- DBR_GR_LotteryInfo* pLotteryInfo = (DBR_GR_LotteryInfo*)(pData);
-
- if (0 == pLotteryInfo->dwUserID)
- {
- ASSERT(FALSE);
- return false;
- }
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLotteryInfo->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@wLotteryType"), pLotteryInfo->wLotteryType); //抽奖类型(0: 轮盘抽奖 1: 玩牌抽奖) add 2017-12-29
-
- m_GameDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_QueryLotteryInfo"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strNotifyContent"), DBVarValue);
-
- //抽奖结果
- tagLotteryInfo rouletteLotteryInfo;
- rouletteLotteryInfo.wLotteryType = pLotteryInfo->wLotteryType; ///+++记录抽奖类型
-
-
- rouletteLotteryInfo.wResult = lResultCode; //查询结果
- lstrcpyn(rouletteLotteryInfo.szDesc, CW2CT(DBVarValue.bstrVal), CountArray(rouletteLotteryInfo.szDesc)); //描述信息
-
- rouletteLotteryInfo.wHadLotteryCount = m_GameDBAide.GetValue_WORD(TEXT("HadLotteryCount"));
- rouletteLotteryInfo.wLotteryCountPara = m_GameDBAide.GetValue_WORD(TEXT("LotteryCountPara"));
- rouletteLotteryInfo.wCurrentDrawCount = m_GameDBAide.GetValue_WORD(TEXT("CurrentDrawCount"));
- rouletteLotteryInfo.wDrawLotteryCountPara = m_GameDBAide.GetValue_WORD(TEXT("DrawLotteryCountPara"));
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_INFO_ACK, dwContextID, &rouletteLotteryInfo, sizeof(rouletteLotteryInfo));
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 查询抽奖信息 OnQueryLotteryInfo ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 OnQueryLotteryInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return false;
- }
-
-
- //查询抽奖历史记录
- bool CDataBaseEngineSink::OnQueryLotteryHis(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- DBR_GR_LotteryHis* pDBR_GR_LotteryHis = (DBR_GR_LotteryHis*)(pData);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pDBR_GR_LotteryHis->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@btQueryFlag"), pDBR_GR_LotteryHis->btQueryFlag); //查询标志 0:只查自己的;1:查最近中奖记录
-
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_QueryLotteryHis"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- //变量定义
- WORD wPacketSize = 0;
- BYTE cbBuffer[MAX_ASYNCHRONISM_DATA] = { 0 };
-
- wPacketSize = 0;
- tagLotteryHis * pLotteryHis = NULL;
- while (!m_GameDBModule->IsRecordsetEnd())
- {
- //发送信息
- if ((wPacketSize + sizeof(tagLotteryHis)) > sizeof(cbBuffer))
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_HIS_ACK, dwContextID, cbBuffer, wPacketSize);
- wPacketSize = 0;
- }
-
- //读取信息
- pLotteryHis = (tagLotteryHis *)(cbBuffer + wPacketSize);
-
- pLotteryHis->dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID")); //玩家ID
- //m_GameDBAide.GetValue_String(TEXT("NickName"), pLotteryHis->szUserName, CountArray(pLotteryHis->szUserName)); //玩家名称
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("NickName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(pLotteryHis->szUserName, CountArray(pLotteryHis->szUserName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(pLotteryHis->szUserName, CountArray(pLotteryHis->szUserName), TEXT("%s"), szOutBuffer);
- }
-
-
- pLotteryHis->wLotteryType = m_GameDBAide.GetValue_WORD(TEXT("LotteryType")); //抽奖类型 0:轮盘抽奖;1:玩牌抽奖
- pLotteryHis->wRouletteID = m_GameDBAide.GetValue_WORD(TEXT("ID")); //奖品ID
- m_GameDBAide.GetValue_String(TEXT("LotteryName"), pLotteryHis->szLotteryName, CountArray(pLotteryHis->szLotteryName)); //奖品名称
-
- SYSTEMTIME SystemTimeInputDate, SystemTimeGetLotteryDate;
- memset(&SystemTimeInputDate, 0, sizeof(SystemTimeInputDate));
- memset(&SystemTimeGetLotteryDate, 0, sizeof(SystemTimeGetLotteryDate));
-
- m_GameDBAide.GetValue_SystemTime(TEXT("InputDate"), SystemTimeInputDate);
- m_GameDBAide.GetValue_SystemTime(TEXT("GetLotteryDate"), SystemTimeGetLotteryDate);
-
- if (SystemTimeInputDate.wYear != 0)
- {
- CTime inputDateTime(SystemTimeInputDate);
- CString strInputDate = inputDateTime.Format("%Y-%m-%d %H:%M:%S");
- lstrcpyn(pLotteryHis->szInputeDate, strInputDate, CountArray(pLotteryHis->szInputeDate)); // 中奖时间
- }
-
- if (SystemTimeGetLotteryDate.wYear != 0)
- {
- CTime getLotteryDateTime(SystemTimeGetLotteryDate);
- CString strGetLotteryDate = getLotteryDateTime.Format("%Y-%m-%d %H:%M:%S");
- lstrcpyn(pLotteryHis->szGetLotteryDate, strGetLotteryDate, CountArray(pLotteryHis->szGetLotteryDate)); //领奖奖时间
- }
-
- pLotteryHis->btGetLotteryFlag = m_GameDBAide.GetValue_WORD(TEXT("GetLotteryFlag")); //领奖标志 0:未领取 1:领取
-
- //设置位移
- wPacketSize += sizeof(tagLotteryHis);
-
- //移动记录
- m_GameDBModule->MoveToNext();
- }
-
- if (wPacketSize > 0)
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_HIS_ACK, dwContextID, cbBuffer, wPacketSize);
- }
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 查询抽奖信息 GSP_GR_QueryLotteryHis ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_QueryLotteryHis ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return false;
- }
-
- //查询抽奖历史记录-额外兼容
- bool CDataBaseEngineSink::OnQueryLotteryHisEx(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- DBR_GR_LotteryHis* pDBR_GR_LotteryHis = (DBR_GR_LotteryHis*)(pData);
-
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pDBR_GR_LotteryHis->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@btQueryFlag"), pDBR_GR_LotteryHis->btQueryFlag); //查询标志 0:只查自己的;1:查最近中奖记录
-
- if (pDBR_GR_LotteryHis->btQueryFlag == 1)
- {
- //变量定义
- WORD wPacketSize = 0;
- BYTE cbBuffer[MAX_ASYNCHRONISM_DATA] = { 0 };
-
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_QueryLotteryHis"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- tagLotteryHis * pLotteryHis = NULL;
- while (!m_GameDBModule->IsRecordsetEnd())
- {
- //发送信息
- if ((wPacketSize + sizeof(tagLotteryHis)) > sizeof(cbBuffer))
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_HIS_ACK, dwContextID, cbBuffer, wPacketSize);
- wPacketSize = 0;
- }
-
- //读取信息
- pLotteryHis = (tagLotteryHis *)(cbBuffer + wPacketSize);
-
- pLotteryHis->dwUserID = m_GameDBAide.GetValue_DWORD(TEXT("UserID")); //玩家ID
- //m_GameDBAide.GetValue_String(TEXT("NickName"), pLotteryHis->szUserName, CountArray(pLotteryHis->szUserName)); //玩家名称
-
- TCHAR szBuffer[128] = { 0 };
- ZeroMemory(szBuffer, 128 * sizeof(TCHAR));
- m_GameDBAide.GetValue_String(TEXT("NickName"), szBuffer, 128);
- TCHAR szOutBuffer[128] = { 0 };
- ZeroMemory(szOutBuffer, 128 * sizeof(TCHAR));
-
- //解码
- int iRet = BASE64_Decode(szBuffer, 128, (BYTE*)szOutBuffer);
- if (iRet == -1)
- {
- szBuffer[32] = 0x0;
- _sntprintf(pLotteryHis->szUserName, CountArray(pLotteryHis->szUserName), TEXT("%s"), szBuffer);
- }
- else
- {
- szOutBuffer[32] = 0x0;
- _sntprintf(pLotteryHis->szUserName, CountArray(pLotteryHis->szUserName), TEXT("%s"), szOutBuffer);
- }
-
-
- pLotteryHis->wLotteryType = m_GameDBAide.GetValue_WORD(TEXT("LotteryType")); //抽奖类型 0:轮盘抽奖;1:玩牌抽奖
- pLotteryHis->wRouletteID = (WORD)m_GameDBAide.GetValue_DWORD(TEXT("ID")); //奖品ID
- m_GameDBAide.GetValue_String(TEXT("LotteryName"), pLotteryHis->szLotteryName, CountArray(pLotteryHis->szLotteryName)); //奖品名称
-
- SYSTEMTIME SystemTimeInputDate, SystemTimeGetLotteryDate;
- memset(&SystemTimeInputDate, 0, sizeof(SystemTimeInputDate));
- memset(&SystemTimeGetLotteryDate, 0, sizeof(SystemTimeGetLotteryDate));
-
- m_GameDBAide.GetValue_SystemTime(TEXT("InputDate"), SystemTimeInputDate);
- m_GameDBAide.GetValue_SystemTime(TEXT("GetLotteryDate"), SystemTimeGetLotteryDate);
-
- if (SystemTimeInputDate.wYear != 0)
- {
- CTime inputDateTime(SystemTimeInputDate);
- CString strInputDate = inputDateTime.Format("%Y-%m-%d %H:%M:%S");
- lstrcpyn(pLotteryHis->szInputeDate, strInputDate, CountArray(pLotteryHis->szInputeDate)); // 中奖时间
- }
-
- if (SystemTimeGetLotteryDate.wYear != 0)
- {
- CTime getLotteryDateTime(SystemTimeGetLotteryDate);
- CString strGetLotteryDate = getLotteryDateTime.Format("%Y-%m-%d %H:%M:%S");
- lstrcpyn(pLotteryHis->szGetLotteryDate, strGetLotteryDate, CountArray(pLotteryHis->szGetLotteryDate)); //领奖奖时间
- }
-
- pLotteryHis->btGetLotteryFlag = m_GameDBAide.GetValue_WORD(TEXT("GetLotteryFlag")); //领奖标志 0:未领取 1:领取
-
- //设置位移
- wPacketSize += sizeof(tagLotteryHis);
-
- //移动记录
- m_GameDBModule->MoveToNext();
- }
-
- if (wPacketSize > 0)
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_HIS_ACK, dwContextID, cbBuffer, wPacketSize);
- }
- }
- else
- {
- //变量定义
- WORD wPacketSize = 0;
- BYTE cbBuffer[MAX_ASYNCHRONISM_DATA] = { 0 };
-
- m_GameDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_QueryLotteryHis"), true);
-
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- tagLotteryHisEx * pLotteryHis = NULL;
- while (!m_GameDBModule->IsRecordsetEnd())
- {
- //发送信息
- if ((wPacketSize + sizeof(tagLotteryHisEx)) > sizeof(cbBuffer))
- {
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_HIS_ACK, dwContextID, cbBuffer, wPacketSize);
- wPacketSize = 0;
- }
-
- //读取信息
- pLotteryHis = (tagLotteryHisEx *)(cbBuffer + wPacketSize);
-
- pLotteryHis->dwRecordID = m_GameDBAide.GetValue_DWORD(TEXT("ID")); //记录ID
- pLotteryHis->wRouletteID = m_GameDBAide.GetValue_WORD(TEXT("LotteryType")); //奖品类型
- m_GameDBAide.GetValue_String(TEXT("LotteryName"), pLotteryHis->szLotteryName, CountArray(pLotteryHis->szLotteryName)); //奖品名称
-
- SYSTEMTIME SystemTimeInputDate, SystemTimeGetLotteryDate;
- memset(&SystemTimeInputDate, 0, sizeof(SystemTimeInputDate));
- memset(&SystemTimeGetLotteryDate, 0, sizeof(SystemTimeGetLotteryDate));
-
- m_GameDBAide.GetValue_SystemTime(TEXT("InputDate"), SystemTimeInputDate);
- m_GameDBAide.GetValue_SystemTime(TEXT("GetLotteryDate"), SystemTimeGetLotteryDate);
-
- if (SystemTimeInputDate.wYear != 0)
- {
- CTime inputDateTime(SystemTimeInputDate);
- CString strInputDate = inputDateTime.Format("%Y-%m-%d %H:%M:%S");
- lstrcpyn(pLotteryHis->szInputeDate, strInputDate, CountArray(pLotteryHis->szInputeDate)); // 中奖时间
- }
-
- pLotteryHis->btGetLotteryFlag = m_GameDBAide.GetValue_WORD(TEXT("GetLotteryFlag")); //领奖标志 0:未领取 1:领取 2异常未知
-
- //设置位移
- wPacketSize += sizeof(tagLotteryHisEx);
-
- //移动记录
- m_GameDBModule->MoveToNext();
- }
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_HIS_ACKEX, dwContextID, cbBuffer, wPacketSize);
-
- }
-
- double dRet = Start.End();
-
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 查询抽奖信息 GSP_GR_QueryLotteryHis ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_QueryLotteryHis ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return false;
- }
-
- //更新奖品发放标志
- bool CDataBaseEngineSink::OnUpdateLotteryFlag(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- DBR_GR_LotteryFlag* pLotteryFlag = (DBR_GR_LotteryFlag*)(pData);
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLotteryFlag->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@wLotteryID"), pLotteryFlag->wLotteryID);
- m_GameDBAide.AddParameterOutput(TEXT("@strNotifyContent"), szDescribeString, sizeof(szDescribeString), adParamOutput);
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_UpdateLotteryFlag"), true);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GR_UpdateLotteryFlag ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_UpdateLotteryFlag ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return false;
- }
-
- //查询福利信息
- bool CDataBaseEngineSink::OnQueryWelfareInfo(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DWORD));
- if (wDataSize != sizeof(DWORD))
- {
- return false;
- }
-
- //请求处理
- DWORD * pdwUserID = (DWORD *)pData;
-
- //构造参数
- m_PlatformDBAide.ResetParameter();
- m_PlatformDBAide.AddParameter(TEXT("@dwUserID"), *pdwUserID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行脚本
- LONG lResultCode = m_PlatformDBAide.ExecuteProcess(TEXT("GSP_GP_WELFARE_INFO"), true);
-
- //变量定义
-
- tagWelfareInfo welfareInfArr[3];
- ZeroMemory(&welfareInfArr, sizeof(welfareInfArr));
-
- //出参
- CDBVarValue DBVarValue;
- m_PlatformDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- //结果处理
- if (lResultCode == DB_SUCCESS)
- {
- welfareInfArr[0].btWelfareType = m_PlatformDBAide.GetValue_BYTE(TEXT("btWelfareType_Signin"));
- welfareInfArr[1].btWelfareType = m_PlatformDBAide.GetValue_BYTE(TEXT("btWelfareType_Relief"));
- welfareInfArr[2].btWelfareType = m_PlatformDBAide.GetValue_BYTE(TEXT("btWelfareType_Roulette"));
-
- welfareInfArr[0].btTakedNum = m_PlatformDBAide.GetValue_BYTE(TEXT("btTakedNum_Signin"));
- welfareInfArr[1].btTakedNum = m_PlatformDBAide.GetValue_BYTE(TEXT("btTakedNum_Relief"));
- welfareInfArr[2].btTakedNum = m_PlatformDBAide.GetValue_BYTE(TEXT("btTakedNum_Roulette"));
-
- welfareInfArr[0].btTotalNum = m_PlatformDBAide.GetValue_BYTE(TEXT("btTotalNum_Signin"));
- welfareInfArr[1].btTotalNum = m_PlatformDBAide.GetValue_BYTE(TEXT("btTotalNum_Relief"));
- welfareInfArr[2].btTotalNum = m_PlatformDBAide.GetValue_BYTE(TEXT("btTotalNum_Roulette"));
-
- welfareInfArr[0].btValidFlag = m_PlatformDBAide.GetValue_BYTE(TEXT("btValidFlag_Signin"));
- welfareInfArr[1].btValidFlag = m_PlatformDBAide.GetValue_BYTE(TEXT("btValidFlag_Relief"));
- welfareInfArr[2].btValidFlag = m_PlatformDBAide.GetValue_BYTE(TEXT("btValidFlag_Roulette"));
- }
-
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_WELFARE_INFO_ACK, dwContextID, &welfareInfArr, sizeof(welfareInfArr));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 查询福利信息 GSP_GP_WELFARE_INFO ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
-
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 查询福利信息 GSP_GP_WELFARE_INFO ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- //构造结构
- tagWelfareInfo welfareInfArr[3];
- ZeroMemory(&welfareInfArr, sizeof(welfareInfArr));
-
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_WELFARE_INFO_ACK, dwContextID, &welfareInfArr, sizeof(welfareInfArr));
-
- return false;
- }
- }
-
-
- //用户获得代理解绑相关信息
- bool CDataBaseEngineSink::OnRequestGetUntieAgentInfo(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DWORD));
- if (wDataSize != sizeof(DWORD))
- {
- return false;
- }
-
- //请求处理
- DWORD * pdwUserID = (DWORD *)pData;
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), *pdwUserID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行脚本
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GP_GetUntieAgentInfo"), true);
-
- //出参
- CDBVarValue DBVarValue;
- m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- //结果处理
- if (lResultCode == DB_SUCCESS)
- {
- DBR_GR_GetUntieAgentInfo GetUntieAgentInfo = { 0 };
- GetUntieAgentInfo.cbCost = m_TreasureDBAide.GetValue_BYTE(TEXT("Cost"));
- GetUntieAgentInfo.cbDays = m_TreasureDBAide.GetValue_BYTE(TEXT("OperateDay"));
- GetUntieAgentInfo.dwCurrency = m_TreasureDBAide.GetValue_DWORD(TEXT("Currency"));
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_UNTIE_AGENT_INFO_ACK, dwContextID, &GetUntieAgentInfo, sizeof(GetUntieAgentInfo));
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GP_GetUntieAgentInfo ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
-
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetUntieAgentInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return false;
- }
- }
-
- //用户获得解绑所需钻石数目
- bool CDataBaseEngineSink::OnRequestGetUntieAgentCost(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(DWORD));
- if (wDataSize != sizeof(DWORD))
- {
- return false;
- }
-
- //请求处理
- DWORD * pdwUserID = (DWORD *)pData;
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), *pdwUserID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行脚本
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GP_GetUntieAgentInfo"), true);
-
- //出参
- CDBVarValue DBVarValue;
- m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- //结果处理
- if (lResultCode == DB_SUCCESS)
- {
- DBR_GR_GetUntieAgentInfo GetUntieAgentInfo = { 0 };
- GetUntieAgentInfo.cbCost = m_TreasureDBAide.GetValue_BYTE(TEXT("Cost"));
- GetUntieAgentInfo.cbDays = m_TreasureDBAide.GetValue_BYTE(TEXT("OperateDay"));
- GetUntieAgentInfo.dwCurrency = m_TreasureDBAide.GetValue_DWORD(TEXT("Currency"));
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_ZUANSHI_INFO_ACK, dwContextID, &GetUntieAgentInfo, sizeof(GetUntieAgentInfo));
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GP_GetUntieAgentInfo ----> %.3f "), dRet);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
-
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GP_GetUntieAgentInfo ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return false;
- }
- }
-
- //扫码绑定设置代理id绑定和送钻
- bool CDataBaseEngineSink::OnRequestSetAgentBangDing(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- //效验参数
- ASSERT(wDataSize == sizeof(CMD_GR_GetDaiLiSaoMaResult));
- if (wDataSize != sizeof(CMD_GR_GetDaiLiSaoMaResult))
- {
- return false;
- }
-
- //请求处理
- CMD_GR_GetDaiLiSaoMaResult * pdwUserID = (CMD_GR_GetDaiLiSaoMaResult *)pData;
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@dwUserID"), pdwUserID->dwUserID);
- m_TreasureDBAide.AddParameter(TEXT("@dwBingID"), pdwUserID->dwBingID);
-
- //输出参数
- TCHAR szDescribeString[128] = TEXT("");
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行脚本
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GR_AddBingID"), true);
-
- //出参
- CDBVarValue DBVarValue;
- m_TreasureDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
-
- DWORD dwCurrency = 0;
- //结果处理
- if (lResultCode != DB_SUCCESS)
- {
- //dwCurrency = m_TreasureDBAide.GetValue_DWORD(TEXT("Currency"));
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(320))
- {
- CString csTest;
- csTest.Format(_T("存储过程 GSP_GR_AddBingID 执行失败,参数userid=%d,bingid=%d"), pdwUserID->dwUserID, pdwUserID->dwBingID);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Warning);
- }
- }
- else{
- //变量定义
- CMD_GR_UserBean UserBeans;
- ZeroMemory(&UserBeans, sizeof(UserBeans));
-
-
- //构造变量
- UserBeans.dwCurrBeans = m_TreasureDBAide.GetValue_INT(TEXT("CurrBeans"));
- ////发送数据
- //SendData(pIServerUserItem, MDM_GR_USER, SUB_GR_USER_BEAN, &UserBeans, sizeof(UserBeans));
- //发送结果
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_SAOMA_INFO_ACK, dwContextID, &UserBeans, sizeof(UserBeans));
-
- }
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
- csTest.Format(_T("存储过程耗时 GSP_GR_AddBingID ----> %.3f"), dRet);
- //csTest.Format(_T("存储过程耗时 GSP_GR_AddBingID ----> %.3f,绑定代理ID:%d,送钻个数:%d "), dRet, dwCurrency);
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
-
- return true;
-
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_AddBingID ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- CString csTest;
-
- csTest.Format(_T("存储过程耗时异常 GSP_GR_AddBingID ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- return false;
- }
- }
- //手动领奖
- bool CDataBaseEngineSink::OnLotteryAward(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- DBR_GR_LotteryAward* pLotteryAward = (DBR_GR_LotteryAward*)(pData);
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLotteryAward->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@dwRecordID"), pLotteryAward->dwRecordID);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LotteryAward"), true);
- pLotteryAward->cbCheckResult = lResultCode;
- if (DB_SUCCESS == lResultCode)
- {
- m_GameDBAide.GetValue_String(TEXT("szAddress"), pLotteryAward->szAddress, CountArray(pLotteryAward->szAddress));
- m_GameDBAide.GetValue_String(TEXT("szAddressee"), pLotteryAward->szAddressee, CountArray(pLotteryAward->szAddressee));
- m_GameDBAide.GetValue_String(TEXT("szAddrPhoneNum"), pLotteryAward->szAddrPhoneNum, CountArray(pLotteryAward->szAddrPhoneNum));
- }
-
- //返回数据
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_LOTTERY_AWARD, dwContextID, pLotteryAward, sizeof(DBR_GR_LotteryAward));
-
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LotteryAward ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- return true;
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
-
- }
-
- return false;
- }
-
- //注册收件信息
- bool CDataBaseEngineSink::OnLotteryAddress(DWORD dwContextID, VOID * pData, WORD wDataSize)
- {
- CTimer Start;
- try
- {
- DBR_GR_LotteryAddr* pLotteryAddr = (DBR_GR_LotteryAddr*)(pData);
-
- //构造参数
- m_GameDBAide.ResetParameter();
- m_GameDBAide.AddParameter(TEXT("@dwUserID"), pLotteryAddr->dwUserID);
- m_GameDBAide.AddParameter(TEXT("@szAddress"), pLotteryAddr->szAddress);
- m_GameDBAide.AddParameter(TEXT("@szAddressee"), pLotteryAddr->szAddressName);
- m_GameDBAide.AddParameter(TEXT("@szAddrPhoneNum"), pLotteryAddr->szAddrPhoneNum);
-
- //执行查询
- LONG lResultCode = m_GameDBAide.ExecuteProcess(TEXT("GSP_GR_LotteryAddr"), true);
- if (lResultCode == DB_SUCCESS)
- {
- BYTE bFlag = 0;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GF_LOTTERY_ADDRESS, dwContextID, &bFlag, sizeof(BYTE));
- }
- else
- {
- BYTE bFlag = 1;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(SUB_GF_LOTTERY_ADDRESS, dwContextID, &bFlag, sizeof(BYTE));
- }
- }
- catch (IDataBaseException * pIException)
- {
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
- if (CServiceUnits::g_pServiceUnits->m_AttemperEngineSink.IsJC(2222))
- {
- CString csTest;
-
- csTest.Format(_T("存储过程耗时 GSP_GR_LotteryAddr ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
- }
- }
-
- return false;
- }
-
- //洗牌动画 获取砖石数据
- bool CDataBaseEngineSink::OnWlShuffleGameHandleDB(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@SortID"), 300);//温岭洗牌消耗钻石
-
- //执行查询
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GP_SearchWLShuffleValue"), true);
- USER_SHUFFLE_ZUANSHI sZUANSHI;
- ZeroMemory(&sZUANSHI, sizeof(sZUANSHI));
- sZUANSHI.dwNeedZuanshi = m_TreasureDBAide.GetValue_DWORD(TEXT("StatusValue"));
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_WENLIN_SHUFFLE_ACK, dwContextID, &sZUANSHI, sizeof(sZUANSHI));
-
- }
- catch (IDataBaseException * pIException)
- {
- USER_SHUFFLE_ZUANSHI sZUANSHI;
- ZeroMemory(&sZUANSHI, sizeof(sZUANSHI));
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_GET_WENLIN_SHUFFLE_ACK, dwContextID, &sZUANSHI, sizeof(sZUANSHI));
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
-
- CString csTest;
-
- csTest.Format(_T("存储过程耗时失败 GSP_GP_SearchWLShuffleValue ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
-
- }
-
- return false;
- }
-
- bool CDataBaseEngineSink::OnWlShuffleGameDeductHandleDB(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID)
- {
- CTimer Start;
- try
- {
- DWORD* pInfo = (DWORD*)(pData); //USERid
- //构造参数
- TCHAR szDescribeString[127];
- ZeroMemory(szDescribeString, 127 * sizeof(TCHAR));
-
- //构造参数
- m_TreasureDBAide.ResetParameter();
- m_TreasureDBAide.AddParameter(TEXT("@UserID"), (*pInfo));//温岭洗牌消耗钻石
- m_TreasureDBAide.AddParameterOutput(TEXT("@strErrorDescribe"), szDescribeString, sizeof(szDescribeString), adParamOutput);
-
- //执行查询
- LONG lResultCode = m_TreasureDBAide.ExecuteProcess(TEXT("GSP_GP_DeductWLShuffleZuanShi"), true);
-
- DBR_GR_WLDeductInfo sZUANSHI;
- ZeroMemory(&sZUANSHI, sizeof(sZUANSHI));
-
- if (DB_SUCCESS != lResultCode)
- {
- TCHAR strErrorDescribe[127];
- ZeroMemory(strErrorDescribe, 127 * sizeof(TCHAR));
- //结果处理
- CDBVarValue DBVarValue;
- m_GameDBModule->GetParameter(TEXT("@strErrorDescribe"), DBVarValue);
- _sntprintf(strErrorDescribe, 127, TEXT("GSP_GP_DeductWLShuffleZuanShi 执行失败,err:%s"), static_cast<LPCWSTR>(DBVarValue.bstrVal));
- //提示消息
- CTraceService::TraceString(strErrorDescribe, TraceLevel_Warning);
- }
- else
- {
- sZUANSHI.dwConsumeCurrency = m_TreasureDBAide.GetValue_DWORD(TEXT("CurCurrency"));
- }
- sZUANSHI.dwUserID = (DWORD)*pInfo;
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_DEDUCT_RE_ZUANSHI_INFO, dwContextID, &sZUANSHI, sizeof(sZUANSHI));
-
- }
- catch (IDataBaseException * pIException)
- {
- DBR_GR_WLDeductInfo sZUANSHI;
- ZeroMemory(&sZUANSHI, sizeof(sZUANSHI));
-
- m_pIDataBaseEngineEvent->OnEventDataBaseResult(DBR_GP_DEDUCT_RE_ZUANSHI_INFO, dwContextID, &sZUANSHI, sizeof(sZUANSHI));
- //输出错误
- CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
- double dRet = Start.End();
-
- CString csTest;
-
- csTest.Format(_T("存储过程耗时失败 GSP_GP_DeductWLShuffleZuanShi ----> %.3f "), dRet);
-
- //提示消息
- CTraceService::TraceString(csTest, TraceLevel_Normal);
-
- }
-
- return false;
- }
|