#ifndef DATABASE_ENGINE_SINK_HEAD_FILE #define DATABASE_ENGINE_SINK_HEAD_FILE #pragma once #include "Stdafx.h" #include "InitParameter.h" #include "DataBasePacket.h" ////////////////////////////////////////////////////////////////////////////////// //数据库类 class CDataBaseEngineSink : public IDataBaseEngineSink, public IGameDataBaseEngine { //友元定义 friend class CServiceUnits; //辅助变量 protected: DBO_GR_LogonFailure m_LogonFailure; //登录失败 DBO_GR_LogonSuccess m_LogonSuccess; //登录成功 //游戏数据库 protected: CDataBaseAide m_GameDBAide; //游戏数据 CDataBaseHelper m_GameDBModule; //游戏数据 //游戏币数据库 protected: CDataBaseAide m_TreasureDBAide; //游戏币数据库 CDataBaseHelper m_TreasureDBModule; //游戏币数据库 //平台数据库 protected: CDataBaseAide m_PlatformDBAide; //平台数据库 CDataBaseHelper m_PlatformDBModule; //平台数据库 //配置变量 protected: CInitParameter * m_pInitParameter; //配置参数 tagGameParameter * m_pGameParameter; //配置参数 tagDataBaseParameter * m_pDataBaseParameter; //连接信息 tagGameServiceAttrib * m_pGameServiceAttrib; //服务属性 tagGameServiceOption * m_pGameServiceOption; //服务配置 //组件变量 protected: IDataBaseEngine * m_pIDataBaseEngine; //引擎接口 IGameServiceManager * m_pIGameServiceManager; //服务管理 IDataBaseEngineEvent * m_pIDataBaseEngineEvent; //数据事件 //查询接口 protected: IGameDataBaseEngineSink * m_pIGameDataBaseEngineSink; //数据接口 //组件变量 public: IDBCorrespondManager * m_pIDBCorrespondManager; //数据协调 CMap m_JiShu; //数据库失败重连的次数 //函数定义 public: //构造函数 CDataBaseEngineSink(); //析构函数 virtual ~CDataBaseEngineSink(); //基础接口 public: //释放对象 virtual VOID Release() { return; } //接口查询 virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer); //配置参数 public: //自定配置 virtual VOID * GetCustomRule() { return m_pGameServiceOption->cbCustomRule; }; //服务属性 virtual tagGameServiceAttrib * GetGameServiceAttrib() { return m_pGameServiceAttrib; } //服务配置 virtual tagGameServiceOption * GetGameServiceOption() { return m_pGameServiceOption; } //获取对象 public: //获取对象 virtual VOID * GetDataBase(REFGUID Guid, DWORD dwQueryVer); //获取对象 virtual VOID * GetDataBaseEngine(REFGUID Guid, DWORD dwQueryVer); //功能接口 public: //投递结果 virtual bool PostGameDataBaseResult(WORD wRequestID, VOID * pData, WORD wDataSize); IDataBaseEngineEvent* GetDataBaseEngineEvent(){ return m_pIDataBaseEngineEvent; } //系统事件 public: //启动事件 virtual bool OnDataBaseEngineStart(IUnknownEx * pIUnknownEx); //停止事件 virtual bool OnDataBaseEngineConclude(IUnknownEx * pIUnknownEx); //内核事件 public: //时间事件 virtual bool OnDataBaseEngineTimer(DWORD dwTimerID, WPARAM dwBindParameter); //控制事件 virtual bool OnDataBaseEngineControl(WORD wControlID, VOID * pData, WORD wDataSize); //请求事件 virtual bool OnDataBaseEngineRequest(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize); //登录函数 protected: //查询元宝 bool OnRequestGetBean(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //实名认证 bool onRequestCheckName(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //实名认证查询 bool onRequestCheckNameQuery(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //手机重复绑定查询 bool onRequestGetVerifCode(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //手机绑定查询 bool onRequestCheckIphoneQuery(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //手机绑定 bool onRequestCheckIphone(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //闲聊绑定 bool onRequestCheckXianLiao(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //手机验证码落地 //bool onRequestCheckVerifCode(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //I D 登录 bool OnRequestLogonMobile(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //分享奖励钻石 bool OnRequestShareAwardBean(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //分享通知 bool OnShareMessage(VOID * pData, WORD wDataSize, DWORD dwUserID); //查询用户分享的信息 bool OnRequestShareInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //系统处理 protected: // 更新服务器通道状态 bool OnRequestOnLineService(DWORD dwContextID, VOID * pData, WORD wDataSize); //记录每日临时分变化 bool OnRequestWriteGameTempScoreRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //获取每日临时分排行榜 bool OnRequestGetGameTempScoreRecordRankList(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //游戏写分 bool OnRequestWriteGameScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //离开房间 bool OnRequestLeaveGameServer(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //游戏记录 bool OnRequestGameScoreRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //获取游戏记录简略信息列表 bool OnRequestGetUserGameScoreRecords(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //获取游戏回放记录 bool OnRequestGetUserGameReplayRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载参数 bool OnRequestLoadParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载列表 //bool OnRequestLoadGameColumn(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载机器 //bool OnRequestLoadAndroidUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载机器 //bool OnRequestLoadAndroidParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载道具 //bool OnRequestLoadGameProperty(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////礼物请求 ////bool OnRequestPropertyRequest(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////用户权限 //bool OnRequestManageUserRight(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////比赛权限 //bool OnRequestManageMatchRight(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //系统消息 //bool OnRequestLoadSystemMessage(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载敏感词 //bool OnRequestLoadSensitiveWords(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////比赛报名 //bool OnRequestMatchSignup(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////退出比赛 //bool OnRequestMatchUnSignup(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////比赛开始 //bool OnRequestMatchStart(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////比赛结束 //bool OnRequestMatchOver(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////比赛奖励 //bool OnRequestMatchReward(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////比赛淘汰 //bool OnRequestMatchEliminate(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //银行服务 protected: //直接扣除元宝 bool OnRequestUserCheckBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //扣除元宝 bool OnRequestUserReduceBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //冻结元宝 bool OnRequestUserLockBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //解冻元宝 bool OnRequestUserUnLockBeans(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////开通银行 //bool OnRequestUserEnableInsure(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////存入游戏币 //bool OnRequestUserSaveScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////提取游戏币 //bool OnRequestUserTakeScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////转帐游戏币 //bool OnRequestUserTransferScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////查询银行 //bool OnRequestQueryInsureInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); ////查询用户 //bool OnRequestQueryTransferUserInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //任务服务 protected: //领取任务 //bool OnRequestTaskTake(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //领取奖励 //bool OnRequestTaskReward(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载任务 //bool OnRequestLoadTaskList(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查询任务 //bool OnRequestTaskQueryInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //兑换服务 protected: //会员参数 //bool OnRequestLoadMemberParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //购买会员 //bool OnRequestPurchaseMember(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //兑换游戏币 //bool OnRequestExchangeScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //兑换配置列表 //bool OnRequestExchangeConfigs(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //俱乐部服务 protected: //列表 bool OnRequestGetClubList(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //会员 bool OnRequestGetClubUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //会员 bool OnRequestGetClubUserEx(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //会员 bool OnRequestGetClubUserOnline(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //通知 bool OnRequestGetClubMessage(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //记录 bool OnRequestGetClubRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //记录额外新版加的 bool OnRequestGetClubRecordEX(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //分享战绩到闲聊 bool OnRequestFenXiangClubRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //记录 bool OnRequestWriteClubRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //创建 bool OnRequestCreateClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //修改 bool OnRequestUpdateClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //删除 bool OnRequestDeleteClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查看 bool OnRequestGetClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加入 bool OnRequestJoinClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //退出 bool OnRequestQuitClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //同意加入 bool OnRequestAgreeClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //在线信息 //bool OnRequestGetClubOnLine(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //在线信息 bool OnRequestGetClubOnLineEx(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //会员黑名单 bool OnRequestGetClubBlackUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查询协议 bool OnRequestGetClubProtocol(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //同意协议 bool OnRequestGetClubProtocolAgree(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查询群主信息 bool OnRequestGetClubHostInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //公告 bool OnRequestGetClubNotice(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //广播 bool OnRequestNotifyAlluser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //群主解散俱乐部房间 bool OnRequestClubDissolveRoom(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //俱乐部获取战绩数据 bool OnRequestGetClubExploits(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //俱乐部获取对局数据 bool OnRequestGetClubPlaygames(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //俱乐部获取积分数据 bool OnRequestGetClubIntegral(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //俱乐部打样 bool OnRequestGetClubSample(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //辅助函数 private: ////替换昵称 void Fstring(TCHAR* pCheck); // //解锁机器 //// bool UnLockAndroidUser(); //登录结果 VOID OnLogonDisposeResult(DWORD dwContextID, DWORD dwErrorCode, LPCTSTR pszErrorString, bool bMobileClient, BYTE cbDeviceType = DEVICE_TYPE_PC, WORD wBehaviorFlags = 0, WORD wPageTableCount = 0); //银行结果 //VOID OnInsureDisposeResult(DWORD dwContextID, DWORD dwErrorCode, SCORE lFrozenedScore, LPCTSTR pszErrorString, bool bMobileClient, BYTE cbActivityGame = FALSE); ///---胜局榜 //bool OnRequestTopWinList(DWORD dwContextID, VOID * pData, WORD wDataSize); ///---查询破产信息 //bool OnRequestReliefInfo(DWORD dwContextID, VOID * pData, WORD wDataSize); ///---领取破产 //bool OnRequestGetRelief(DWORD dwContextID, VOID * pData, WORD wDataSize); ///+++加载奖励 bool OnRequestCheckInReward(DWORD dwContextID, VOID * pData, WORD wDataSize); //查询签到 bool OnRequestCheckInQueryInfo(DWORD dwContextID, VOID * pData, WORD wDataSize); //执行签到 bool OnRequestCheckInDone(DWORD dwContextID, VOID * pData, WORD wDataSize); //转盘奖品配置列表 bool OnRequestRouletteConfig(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //转盘奖品配置列表(新版) bool OnRequestRouletteConfig_new(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //记录轮盘抽奖 bool OnRecordRouletteLottery(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查询抽奖信息 bool OnQueryLotteryInfo(DWORD dwContextID, VOID * pData, WORD wDataSize); //查询抽奖历史 bool OnQueryLotteryHis(DWORD dwContextID, VOID * pData, WORD wDataSize); // //查询抽奖历史-额外兼容 bool OnQueryLotteryHisEx(DWORD dwContextID, VOID * pData, WORD wDataSize); //查询福利信息 bool OnQueryWelfareInfo(DWORD dwContextID, VOID * pData, WORD wDataSize); //用户获得代理解绑相关信息 bool OnRequestGetUntieAgentInfo(DWORD dwContextID, VOID * pData, WORD wDataSize); //用户获得解绑所需钻石数目 bool OnRequestGetUntieAgentCost(DWORD dwContextID, VOID * pData, WORD wDataSize); //更新奖品发放标志 bool OnUpdateLotteryFlag(DWORD dwContextID, VOID * pData, WORD wDataSize); //手动领奖 bool OnLotteryAward(DWORD dwContextID, VOID * pData, WORD wDataSize); //注册收件信息 bool OnLotteryAddress(DWORD dwContextID, VOID * pData, WORD wDataSize); //扫码绑定设置代理id绑定和送钻 bool OnRequestSetAgentBangDing(DWORD dwContextID, VOID * pData, WORD wDataSize); //额外玩法增加 bool OnHandleCStringToConfig(tagTableConfig & ClubInfo, CString Config); void OnHandleConfigToCString(CString & gameConfig, const tagTableConfig ClubInfo); bool OnRequestUpdateAddClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestGetAddClub(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnWlShuffleGameHandleDB(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnWlShuffleGameDeductHandleDB(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); }; ////////////////////////////////////////////////////////////////////////////////// #endif