使用cocos2dx,集成MySQL数据库,来实现一个管理后台的功能。
cocos2dx : cocos2d-x-3.16
MySQL : mysql-5.7.28-win32.zip
为什么要使用32位的mysql,因为cocos2dx在win32下的用的是32位的,要是使用64位的DB,编译的时候直接报错了。
环境配置
先看看mysql压缩文件里面的内容:
- 首先新建cocos2dx工程;
- 然后把上面的include文件拷贝到cocos2dx工程\Classes目录下;
- 在把lib库文件拷贝过来
在将dll文件拷贝到运行目录
配置VS
这里使用的是vs2013版本的;添加lib库路径
添加头文件路径:
添加链接器路径
到此环境配置完成。下面是代码实现。
测试代码
//------------Management.h------------------------
#ifndef __MANAGERMENT_SCENE_H__
#define __MANAGERMENT_SCENE_H__
#include "cocos2d.h"
#include "cocos/editor-support//cocostudio/CocoStudio.h" //CSLoader
#include "../cocos/ui/UITextField.h" //TextField
#include "../cocos/ui/UIButton.h"
#include "../cocos/ui/UIText.h"
#include "../cocos/ui/UIImageView.h"
#include "../cocos/ui/UIScrollView.h"
#include "../cocos/ui/UIListView.h"
#include "../cocos/ui/UITextAtlas.h"
#include "../cocos/ui/UIScale9Sprite.h"
#include "../cocos/ui/UIEditBox/UIEditBox.h"
#include "mysql.h"
#include "GameData.h"
//#include "DBUtil.h"
using namespace cocos2d;
using namespace ui;
using namespace cocostudio;
using namespace std;
class Management : public cocos2d::Scene, public EditBoxDelegate
{
public:
static cocos2d::Scene* createScene();
//static Management *getInstance();
//static Management *_instance;
virtual bool init();
// a selector callback
void touchCallBack(cocos2d::Ref* pSender, TouchEventType type);
void touchCallBackZZJL(cocos2d::Ref* pSender, TouchEventType type);
void modifyBtnImage(Button *_button);
void resetBtnImage();
void createEditBox(Node* pNode, ImageView* pIV, TextField* pTF, int tag);
// implement the "static create()" method manually
CREATE_FUNC(Management);
virtual void editBoxEditingDidBegin(EditBox* editBox);
virtual void editBoxEditingDidEnd(EditBox* editBox);
virtual void editBoxTextChanged(EditBox* editBox, const std::string &text);
virtual void editBoxReturn(EditBox *editBox);
//db返回处理
void onEventDataBase(void * pData, int cType);
//隐藏右边信息
void HideRightPanal();
//管理员登录
void CheckLogon();
void ManagementLogonOK();
void GetLogonAccPwd();
void CallLogonProc();
//玩家列表
void CallWanJiaLieBiaoProc();
void ShowWanJiaLieBiao();
Vec2 m_wjlb_posBg; Vec2 m_wjlb_posId; Vec2 m_wjlb_posName; Vec2 m_wjlb_posState; Vec2 m_wjlb_posUG; Vec2 m_wjlb_posBG;
Vec2 m_wjlb_posCZCS; Vec2 m_wjlb_posCZJE; Vec2 m_wjlb_posLJSY; Vec2 m_wjlb_posZXSC;
//充值记录
void ChongZhiJiLu();
void CallChongZhiJiLuProc();
Vec2 m_czjl_posBg;Vec2 m_czjl_posId;Vec2 m_czjl_posName;Vec2 m_czjl_posSumCount;Vec2 m_czjl_posSumRMB;
//充值详情(userId)
void ChongZhiXiangQing();
void QueryCZXQReq();
void ShowChongZhiXiangQing();
Vec2 m_czxq_posBg; Vec2 m_czxq_posId; Vec2 m_czxq_posName; Vec2 m_czxq_posOrder; Vec2 m_czxq_posRMB; Vec2 m_czxq_posTime; Vec2 m_czxq_posType;
//转账记录(userId)
void ZhuanZhangJiLu();
void QueryZZJLReq();
void ShowZhuanZhangJiLu();
Vec2 m_zzjl_posBg; Vec2 m_zzjl_posOUser; Vec2 m_zzjl_posOName; Vec2 m_zzjl_posIUser; Vec2 m_zzjl_posIName; Vec2 m_zzjl_posNum; Vec2 m_zzjl_posTime; Vec2 m_zzjl_posBtn;
//玩家查询
void WanJiaChaXun();
void QueryWJCXReq();
void ShowWanJiaChaXun(void* pData);
//在线统计
void ZaiXianTongJi(int sum, int wxhh, int esyd, int fqzs);
void CallZaiXianTongJiProc();
//冻结解冻
void DongJie_JieDong();
void DJJDReq(int type);//type:1冻结 2解冻
//信息修改
void XinXi_XiuGai();
void XinXi_XGReq();
string m_userGold;
string m_bankGold;
//交易撤回
void JiaoYi_CheHui(int idA, int idB, int num, string time);
void JiaoYi_CHReq();
//五星宏辉
void GameControl_WXHH();
void HideBtn_WXHH();
void SwitchBtn_WXHH(int index);
void SwitchBtn_WXHH_Room(int index);
void ShowColorBtn_WXHH(bool b1, bool b2, bool b3, bool b4, bool b5);
void CallFlushBet_WXHH();
void FlushBetInfoWXHH();
void SendSubmit_WXHH();
void SendCancel_WXHH();
string m_wxhhHeiCount;string m_wxhhHongCount;string m_wxhhMeiCount;string m_wxhhFangCount;string m_wxhhWangCount;
void ResetValue_WXHH();
//21点
void GameControl_ESYD();
void SwitchBtn_ESYD(int index);
void SendSubmit_ESYD();
string m_esydUserId;
string m_esydCount;
//飞禽走兽
void GameControl_FQZS();
void HideBtn_FQZS();
void SwitchBtn_FQZS(int index);
void SwitchBtn_FQZS_Room(int index);
void ShowColorBtn_FQZS(bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7, bool b8, bool b9, bool b10, bool b11, bool b12);
void CallFlushBet_FQZS();
void FlushBetInfoFQZS();
void SendSubmit_FQZS();
void SendCancel_FQZS();
void ResetValue_FQZS();
string fqzsJSNum; //fqzs金鲨
string fqzsTZNum; //fqzs兔子
string fqzsHZNum; //fqzs猴子
string fqzsTCNum; //fqzs通吃
string fqzsXMNum; //fqzs熊猫
string fqzsSZNum; //fqzs狮子
string fqzsLSNum; //fqzs蓝鲨
string fqzsLYNum; //fqzs老鹰
string fqzsKQNum; //fqzs孔雀
string fqzsTPNum; //fqzs通赔
string fqzsGZNum; //fqzs鸽子
string fqzsYZNum; //fqzs燕子
public:
void test_data();
public:
Node* m_CSB;
Node* m_LogonNode;
Node* m_LeftNode;
Node* m_RightNode;
Button* m_LogonBtn;
Text* m_txtInfo;
string m_account;
string m_password;
Button* m_lUserListBtn; //玩家列表
Button* m_lPayRecordBtn; //充值记录
Button* m_lTranRecordBtn; //转账记录
Button* m_lUserQueryBtn; //玩家查询
Button* m_lZaiXianTJiBtn; //在线统计
Button* m_lChongZhiXQBtn; //充值详情
Button* m_lDJJDBtn; //冻结解冻
Button* m_lXXXiuGaiBtn; //信息修改
Button* m_lJiaoYiCHBtn; //交易撤回
Button* m_lControlSYBtn; //控制输赢
Button* m_lRobotSetBtn; //机器人设置
Button* m_lWXHHBtn; //五星宏辉
Button* m_lESYDBtn; //21点
Button* m_lFQZSBtn; //飞禽走兽
Button* m_ExitBtn; //退出
Button* m_rUserQueryBtn; //右-玩家查询
Button* m_rDongJieBtn; //右-账号冻结
Button* m_rJieDongBtn; //右-账号解冻
Button* m_rXXXiuGaiBtn; //右-信息修改
Layout* m_pZaiXianTongJi; //在线统计
Layout* m_pUserList; //玩家列表
Layout* m_pChongZhiJiLu; //充值记录
Layout* m_pChongZhiXiangQing; //
Layout* m_pZhuanZhangJiLu; //转账记录
Layout* m_pWanJiaChaXun; //玩家查询
Layout* m_pDongJie_JieDong; //冻结解冻
Layout* m_pXinXi_XiuGai; //信息修改
Layout* m_pJiaoYi_CheHui; //交易撤回
Layout* m_pControl_wxhh; //五星宏辉
Layout* m_pControl_esyd; //21点
Layout* m_pControl_fqzs; //飞禽走兽
string m_userId;
//玩家列表
list<tagUserInfo *> listUserList;
//转账记录
list<tagZhuanzhangJilu *> listZhuanzhangJilu;
//充值详情
list<tagChongzhiXiangqing *> listChongzhiXiangqing;
//充值记录
list<tagChongzhiJilu *> listChongzhiJilu;
//五星宏辉押注信息
list<tagBetInfoWXHH *> listBetInfoWXHH;
//飞禽走兽押注信息
list<tagBetInfoFQZS *> listBetInfoFQZS;
//---------------DB----------------
string m_host;
string m_user;
string m_passwd;
string m_dbName;
int m_port;
//连接mysql句柄指针
MYSQL *mysql;
//指向查询结果的指针
MYSQL_RES *result;
//按行返回的查询信息
MYSQL_ROW row;
bool exeSQL(string inSQL, int cType);
bool getProcValue(int cType);
bool initDB();
};
#endif // __MANAGERMENT_SCENE_H__
#include "Management.h"
#pragma execution_character_set("utf-8")
USING_NS_CC;
//Management *Management::_instance = nullptr;
//
//Management *Management::getInstance()
//{
// if (_instance == nullptr)
// {
// _instance = new(std::nothrow) Management();
// _instance->autorelease();
// _instance->retain();
// }
//
// return _instance;
//}
Scene* Management::createScene()
{
return Management::create();
}
// Print useful error message instead of segfaulting when files are not there.
static void problemLoading(const char* filename)
{
printf("Error while loading: %s\n", filename);
printf("Depending on how you compiled you might have to add 'Resources/' in front of filenames in Management.cpp\n");
}
// on "init" you need to initialize your instance
bool Management::init()
{
//////////////////////////////
// 1. super init first
if ( !Scene::init() )
{
return false;
}
test_data();
auto visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
//
m_CSB = CSLoader::createNode("management/ManagementNode.csb");
this->addChild(m_CSB);
m_LogonNode = m_CSB->getChildByName("Panel")->getChildByName("Node_logon");
m_LeftNode = m_CSB->getChildByName("Panel")->getChildByName("Node_left");
m_RightNode = m_CSB->getChildByName("Panel")->getChildByName("Node_right");
GetLogonAccPwd();
//----node Node_logon----
m_LogonBtn = (Button*)m_LogonNode->getChildByName("btn_submit");
m_LogonBtn->setTag(reqTag::TAG_LogonBtn);
m_LogonBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
m_txtInfo = (Text*)m_LogonNode->getChildByName("txt_info");
//-----node Node_left-----
//退出
m_ExitBtn = (Button*)m_LeftNode->getChildByName("btn_close");
m_ExitBtn->setTag(reqTag::TAG_ExitBtn);
m_ExitBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//玩家列表
m_lUserListBtn = (Button*)m_LeftNode->getChildByName("ListView_1")->getChildByName("btn_data1");
m_lUserListBtn->setTag(reqTag::TAG_lUserListBtn);
m_lUserListBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//充值记录
m_lPayRecordBtn = (Button*)m_LeftNode->getChildByName("ListView_1")->getChildByName("btn_data2");
m_lPayRecordBtn->setTag(reqTag::TAG_lPayRecordBtn);
m_lPayRecordBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//充值记录
m_lTranRecordBtn = (Button*)m_LeftNode->getChildByName("ListView_1")->getChildByName("btn_data3");
m_lTranRecordBtn->setTag(reqTag::TAG_lTranRecordBtn);
m_lTranRecordBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//玩家查询
m_lUserQueryBtn = (Button*)m_LeftNode->getChildByName("ListView_1")->getChildByName("btn_data4");
m_lUserQueryBtn->setTag(reqTag::TAG_lUserQueryBtn);
m_lUserQueryBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//在线统计
m_lZaiXianTJiBtn = (Button*)m_LeftNode->getChildByName("ListView_1")->getChildByName("btn_data5");
m_lZaiXianTJiBtn->setTag(reqTag::TAG_lZaiXianTJiBtn);
m_lZaiXianTJiBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//充值详情
m_lChongZhiXQBtn = (Button*)m_LeftNode->getChildByName("ListView_1")->getChildByName("btn_data6");
m_lChongZhiXQBtn->setTag(reqTag::TAG_lPayDetailsBtn);
m_lChongZhiXQBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//冻结解冻
m_lDJJDBtn = (Button*)m_LeftNode->getChildByName("ListView_2")->getChildByName("btn_operate1");
m_lDJJDBtn->setTag(reqTag::TAG_lDJJDBtn);
m_lDJJDBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//信息修改
m_lXXXiuGaiBtn = (Button*)m_LeftNode->getChildByName("ListView_2")->getChildByName("btn_operate2");
m_lXXXiuGaiBtn->setTag(reqTag::TAG_lXXXiuGaiBtn);
m_lXXXiuGaiBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
////交易撤回
//m_lJiaoYiCHBtn = (Button*)m_LeftNode->getChildByName("ListView_2")->getChildByName("btn_operate3");
//m_lJiaoYiCHBtn->setTag(reqTag::TAG_lJiaoYiCHBtn);
//m_lJiaoYiCHBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//控制输赢
m_lControlSYBtn = (Button*)m_LeftNode->getChildByName("ListView_2")->getChildByName("btn_operate3");
m_lControlSYBtn->setTag(reqTag::TAG_lControlSYBtn);
m_lControlSYBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
m_lControlSYBtn->setVisible(false);
//机器人设置
m_lRobotSetBtn = (Button*)m_LeftNode->getChildByName("ListView_2")->getChildByName("btn_operate4");
m_lRobotSetBtn->setTag(reqTag::TAG_lRobotSetBtn);
m_lRobotSetBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
m_lRobotSetBtn->setVisible(false);
//五星宏辉
m_lWXHHBtn = (Button*)m_LeftNode->getChildByName("ListView_3")->getChildByName("btn_game1");
m_lWXHHBtn->setTag(reqTag::TAG_lWXHHBtn);
m_lWXHHBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//21点
m_lESYDBtn = (Button*)m_LeftNode->getChildByName("ListView_3")->getChildByName("btn_game2");
m_lESYDBtn->setTag(reqTag::TAG_lESYDBtn);
m_lESYDBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//飞禽走兽
m_lFQZSBtn = (Button*)m_LeftNode->getChildByName("ListView_3")->getChildByName("btn_game3");
m_lFQZSBtn->setTag(reqTag::TAG_lFQZSBtn);
m_lFQZSBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//-----node Node_right-----
//在线统计
m_pZaiXianTongJi = (Layout*)m_RightNode->getChildByName("Panel_ZaiXian_TongJi");
//玩家列表
m_pUserList = (Layout*)m_RightNode->getChildByName("Panel_User_List");
ListView* pScrollWJLB = static_cast<ListView *>(m_pUserList->getChildByName("ListView"));
ImageView* pBgWJLB = static_cast<ImageView *>(pScrollWJLB->getChildByName("img_data_bg"));
m_wjlb_posBg = pBgWJLB->getPosition();
m_wjlb_posId = (pBgWJLB->getChildByName("txt_userid"))->getPosition();
m_wjlb_posName = (pBgWJLB->getChildByName("txt_username"))->getPosition();
m_wjlb_posState = (pBgWJLB->getChildByName("txt_userstate"))->getPosition();
m_wjlb_posUG = (pBgWJLB->getChildByName("txt_userscore"))->getPosition();
m_wjlb_posBG = (pBgWJLB->getChildByName("txt_bankscore"))->getPosition();
m_wjlb_posCZCS = (pBgWJLB->getChildByName("txt_paycount"))->getPosition();
m_wjlb_posCZJE = (pBgWJLB->getChildByName("txt_payRMB"))->getPosition();
m_wjlb_posLJSY = (pBgWJLB->getChildByName("txt_wlScore_lastmonth"))->getPosition();
m_wjlb_posZXSC = (pBgWJLB->getChildByName("txt_onlinetime"))->getPosition();
//充值记录
m_pChongZhiJiLu = (Layout*)m_RightNode->getChildByName("Panel_ChongZhi_JiLu");
ListView* _pScroll = static_cast<ListView *>(m_pChongZhiJiLu->getChildByName("ListView"));
ImageView* _pBG = static_cast<ImageView *>(_pScroll->getChildByName("img_data_bg"));
m_czjl_posBg = _pBG->getPosition();
m_czjl_posId = (_pBG->getChildByName("txt_userid"))->getPosition();
m_czjl_posName = (_pBG->getChildByName("txt_username"))->getPosition();
m_czjl_posSumCount = (_pBG->getChildByName("txt_pay_sumCount"))->getPosition();
m_czjl_posSumRMB = (_pBG->getChildByName("txt_pay_sumRMB"))->getPosition();
//充值详情
m_pChongZhiXiangQing = (Layout*)m_RightNode->getChildByName("Panel_ChongZhi_XiangQing");
ListView* pScrollCZXQ = static_cast<ListView *>(m_pChongZhiXiangQing->getChildByName("ListView"));
ImageView* pBgCZXQ = static_cast<ImageView *>(pScrollCZXQ->getChildByName("img_data_bg"));
m_czxq_posBg = pBgCZXQ->getPosition();
m_czxq_posId = (pBgCZXQ->getChildByName("txt_userid"))->getPosition();
m_czxq_posName = (pBgCZXQ->getChildByName("txt_username"))->getPosition();
m_czxq_posOrder = (pBgCZXQ->getChildByName("txt_orderid"))->getPosition();
m_czxq_posRMB = (pBgCZXQ->getChildByName("txt_payRMB"))->getPosition();
m_czxq_posTime = (pBgCZXQ->getChildByName("txt_paytime"))->getPosition();
m_czxq_posType = (pBgCZXQ->getChildByName("txt_paytype"))->getPosition();
pBgCZXQ->setVisible(false);
//转账记录
m_pZhuanZhangJiLu = (Layout*)m_RightNode->getChildByName("Panel_ZhuanZhangJiLu");
ListView* pScrollZZJL = static_cast<ListView *>(m_pZhuanZhangJiLu->getChildByName("ListView"));
ImageView* pBgZZJL = static_cast<ImageView *>(pScrollZZJL->getChildByName("img_data_bg"));
m_zzjl_posBg = pBgZZJL->getPosition();
m_zzjl_posOUser = (pBgZZJL->getChildByName("txt_userid_A"))->getPosition();
m_zzjl_posOName = (pBgZZJL->getChildByName("txt_username_A"))->getPosition();
m_zzjl_posIUser = (pBgZZJL->getChildByName("txt_userid_B"))->getPosition();
m_zzjl_posIName = (pBgZZJL->getChildByName("txt_username_B"))->getPosition();
m_zzjl_posNum = (pBgZZJL->getChildByName("txt_zzje"))->getPosition();
m_zzjl_posTime = (pBgZZJL->getChildByName("txt_zzsj"))->getPosition();
m_zzjl_posBtn = (pBgZZJL->getChildByName("btn_jych"))->getPosition();
pBgZZJL->setVisible(false);
//玩家查询
m_pWanJiaChaXun = (Layout*)m_RightNode->getChildByName("Panel_WanJia_ChaXun");
//冻结解冻
m_pDongJie_JieDong = (Layout*)m_RightNode->getChildByName("Panel_DongJie_JieDong");
//信息修改
m_pXinXi_XiuGai = (Layout*)m_RightNode->getChildByName("Panel_XinXi_XiuGai");
//交易撤回
m_pJiaoYi_CheHui = (Layout*)m_RightNode->getChildByName("Panel_JiaoYi_CheHui");
//五星宏辉
m_pControl_wxhh = (Layout*)m_RightNode->getChildByName("Panel_Control_wxhh");
//21点
m_pControl_esyd = (Layout*)m_RightNode->getChildByName("Panel_Control_21d");
//飞禽走兽
m_pControl_fqzs = (Layout*)m_RightNode->getChildByName("Panel_Control_fqzs");
HideRightPanal();
return true;
}
void Management::modifyBtnImage(Button *_button)
{
resetBtnImage();
_button->loadTextureNormal("management/img_btnBg1.png", ui::Widget::TextureResType::LOCAL);
}
void Management::resetBtnImage()
{
m_lUserListBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lPayRecordBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lTranRecordBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lUserQueryBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lZaiXianTJiBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lChongZhiXQBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lDJJDBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lXXXiuGaiBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
//m_lJiaoYiCHBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lControlSYBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lRobotSetBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lWXHHBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lESYDBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
m_lFQZSBtn->loadTextureNormal("management/img_btnBg.png", ui::Widget::TextureResType::LOCAL);
}
void Management::createEditBox(Node* pNode, ImageView* pIV, TextField* pTF, int tag)
{
if (pNode == nullptr || pIV == nullptr || pTF == nullptr)
return;
auto accBox = EditBox::create(pIV->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
accBox->setPosition(pIV->getPosition());
accBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
accBox->setFontSize(36);
accBox->setFontColor(Color3B::WHITE);
accBox->setPlaceHolder(pTF->getPlaceHolder().c_str());
accBox->setReturnType(EditBox::KeyboardReturnType::DONE);
accBox->setInputMode(EditBox::InputMode::NUMERIC);
//accBox->setTouchEnabled(true);
accBox->setDelegate(this);
accBox->setMaxLength(20);
accBox->setTag(tag);
pNode->addChild(accBox);
}
void Management::touchCallBack(Ref* pSender, TouchEventType type)
{
//Close the cocos2d-x game scene and quit the application
if (type != TouchEventType::TOUCH_EVENT_ENDED)
return;
int iTag = ((Node*)(pSender))->getTag();
if (iTag == reqTag::TAG_LogonBtn)
{
//CheckLogon();//开发测试时,不验证管理员登录
ManagementLogonOK();
}
else if (iTag == reqTag::TAG_ExitBtn)
{
if (result)
{
CCLOG("mysql_free_result...\n");
mysql_free_result(result);
}
if (mysql) {
mysql_close(mysql);
}
Director::getInstance()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}
else if (iTag == reqTag::TAG_lUserListBtn){ //1-玩家列表
modifyBtnImage(m_lUserListBtn);
CallWanJiaLieBiaoProc();
}
else if (iTag == reqTag::TAG_lPayRecordBtn){ //1-充值记录
modifyBtnImage(m_lPayRecordBtn);
CallChongZhiJiLuProc();
}
else if (iTag == reqTag::TAG_lPayDetailsBtn){ //1-充值详情
modifyBtnImage(m_lChongZhiXQBtn);
ChongZhiXiangQing();
}
else if (iTag == reqTag::TAG_lTranRecordBtn){ //1-转账记录
modifyBtnImage(m_lTranRecordBtn);
ZhuanZhangJiLu();
}
else if (iTag == reqTag::TAG_lUserQueryBtn){ //1-玩家查询
modifyBtnImage(m_lUserQueryBtn);
WanJiaChaXun();
}
else if (iTag == reqTag::TAG_lZaiXianTJiBtn){ //1-在线统计
modifyBtnImage(m_lZaiXianTJiBtn);
//ZaiXianTongJi();
CallZaiXianTongJiProc();
}
else if (iTag == reqTag::TAG_lDJJDBtn){ //冻结解冻
modifyBtnImage(m_lDJJDBtn);
DongJie_JieDong();
}
else if (iTag == reqTag::TAG_lXXXiuGaiBtn){ //信息修改
modifyBtnImage(m_lXXXiuGaiBtn);
XinXi_XiuGai();
}
//else if (iTag == reqTag::TAG_lJiaoYiCHBtn){ //交易撤回
// modifyBtnImage(m_lJiaoYiCHBtn);
// //JiaoYi_CheHui();
//}
else if (iTag == reqTag::TAG_lControlSYBtn){ //控制输赢
modifyBtnImage(m_lControlSYBtn);
}
else if (iTag == reqTag::TAG_lRobotSetBtn){ //机器人设置
modifyBtnImage(m_lRobotSetBtn);
}
else if (iTag == reqTag::TAG_lWXHHBtn){ //3-五星宏辉
modifyBtnImage(m_lWXHHBtn);
GameControl_WXHH();
}
else if (iTag == reqTag::TAG_lESYDBtn){ //3-21点
modifyBtnImage(m_lESYDBtn);
GameControl_ESYD();
}
else if (iTag == reqTag::TAG_lFQZSBtn){ //3-飞禽走兽
modifyBtnImage(m_lFQZSBtn);
GameControl_FQZS();
}
else if (iTag == reqTag::TAG_rCZQXBtn){ //r-充值详情查询
QueryCZXQReq();
}
else if (iTag == reqTag::TAG_rZZJLBtn){ //r-转账记录查询
QueryZZJLReq();
}
else if (iTag == reqTag::TAG_rWJCXBtn){ //r-玩家详情查询
QueryWJCXReq();
}
else if (iTag == reqTag::TAG_rZHDJBtn){ //r-账号冻结
DJJDReq(1);
}
else if (iTag == reqTag::TAG_rZHJDBtn){ //r-账号解冻
DJJDReq(2);
}
else if (iTag == reqTag::TAG_rXinXiXGBtn){ //r-信息修改
XinXi_XGReq();
}
else if (iTag == reqTag::TAG_rJiaoYiCHBtn){ //r-交易撤回
JiaoYi_CHReq();
}
else if (iTag == reqTag::TAG_wxhhRoom1){ //r-wxhh-初级
SwitchBtn_WXHH_Room(1);
}
else if (iTag == reqTag::TAG_wxhhRoom2){ //r-wxhh-中级
SwitchBtn_WXHH_Room(2);
}
else if (iTag == reqTag::TAG_wxhhRoom3){ //r-wxhh-高级
SwitchBtn_WXHH_Room(3);
}
else if (iTag == reqTag::TAG_wxhhRoomFlush){ //r-wxhh-刷新数据
CallFlushBet_WXHH();
}
else if (iTag == reqTag::TAG_wxhhHeiBtn){ //r-wxhh-黑桃
SwitchBtn_WXHH(1);
}
else if (iTag == reqTag::TAG_wxhhHongBtn){ //r-wxhh-红桃
SwitchBtn_WXHH(2);
}
else if (iTag == reqTag::TAG_wxhhMeiBtn){ //r-wxhh-梅花
SwitchBtn_WXHH(3);
}
else if (iTag == reqTag::TAG_wxhhFangBtn){ //r-wxhh-方块
SwitchBtn_WXHH(4);
}
else if (iTag == reqTag::TAG_wxhhWangBtn){ //r-wxhh-王
SwitchBtn_WXHH(5);
}
else if (iTag == reqTag::TAG_wxhhSubmitBtn){ //r-wxhh-确定
SendSubmit_WXHH();
}
else if (iTag == reqTag::TAG_wxhhCancelBtn){ //r-wxhh-取消
SendCancel_WXHH();
}
else if (iTag == reqTag::TAG_esydWinBtn){ //r-esyd-赢
SwitchBtn_ESYD(1);
}
else if (iTag == reqTag::TAG_esydLostBtn){ //r-esyd-输
SwitchBtn_ESYD(2);
}
else if (iTag == reqTag::TAG_esydSubmitBtn){ //r-esyd-确定
SendSubmit_ESYD();
}
else if (iTag == reqTag::TAG_fqzsRoom1){ //r-fqzs-初级
SwitchBtn_FQZS_Room(1);
}
else if (iTag == reqTag::TAG_fqzsRoom2){ //r-fqzs-中级
SwitchBtn_FQZS_Room(2);
}
else if (iTag == reqTag::TAG_fqzsRoom3){ //r-fqzs-高级
SwitchBtn_FQZS_Room(3);
}
else if (iTag == reqTag::TAG_fqzsJSBtn){ //r-fqzs金鲨
SwitchBtn_FQZS(1);
}
else if (iTag == reqTag::TAG_fqzsTZBtn){ //r-fqzs兔子
SwitchBtn_FQZS(2);
}
else if (iTag == reqTag::TAG_fqzsHZBtn){ //r-fqzs猴子
SwitchBtn_FQZS(3);
}
else if (iTag == reqTag::TAG_fqzsTCBtn){ //r-fqzs飞禽
SwitchBtn_FQZS(4);
}
else if (iTag == reqTag::TAG_fqzsXMBtn){ //r-fqzs熊猫
SwitchBtn_FQZS(5);
}
else if (iTag == reqTag::TAG_fqzsSZBtn){ //r-fqzs狮子
SwitchBtn_FQZS(6);
}
else if (iTag == reqTag::TAG_fqzsLSBtn){ //r-fqzs蓝鲨
SwitchBtn_FQZS(7);
}
else if (iTag == reqTag::TAG_fqzsLYBtn){ //r-fqzs老鹰
SwitchBtn_FQZS(8);
}
else if (iTag == reqTag::TAG_fqzsKQBtn){ //r-fqzs孔雀
SwitchBtn_FQZS(9);
}
else if (iTag == reqTag::TAG_fqzsTPBtn){ //r-fqzs走兽
SwitchBtn_FQZS(10);
}
else if (iTag == reqTag::TAG_fqzsGZBtn){ //r-fqzs鸽子
SwitchBtn_FQZS(11);
}
else if (iTag == reqTag::TAG_fqzsYZBtn){ //r-fqzs燕子
SwitchBtn_FQZS(12);
}
else if (iTag == reqTag::TAG_fqzsSubmitBtn){ //r-fqzs确定
SendSubmit_FQZS();
}
else if (iTag == reqTag::TAG_fqzsCancelBtn){ //r-fqzs取消
SendCancel_FQZS();
}
/*To navigate back to native iOS screen(if present) without quitting the application ,do not use Director::getInstance()->end() and exit(0) as given above,instead trigger a custom event created in RootViewController.mm as below*/
//EventCustom customEndEvent("game_scene_close_event");
//_eventDispatcher->dispatchEvent(&customEndEvent);
}
void Management::editBoxEditingDidBegin(EditBox *editBox)
{
CCLOG("start edit");
}
void Management::editBoxEditingDidEnd(EditBox *editBox)
{
CCLOG("end edit");
}
void Management::editBoxReturn(EditBox *editBox)
{
CCLOG("editbox return");
}
void Management::editBoxTextChanged(EditBox *editBox, const std::string &text)
{
auto editbox = (EditBox*)editBox;
switch (editBox->getTag())
{
case 101:
CCLOG("EditBox_name changed");
m_account = text;
break;
case 102:
CCLOG("EditBox_password changed");
m_password = text;
break;
case 103:
CCLOG("EditBox Chong Zhi Xiang Qing");
m_userId = text;
break;
case 104:
CCLOG("EditBox Zhuan Zhang Ji Lu");
m_userId = text;
break;
case 105:
CCLOG("EditBox Wan Jia Cha Xun");
m_userId = text;
break;
case 106:
CCLOG("EditBox Zai Xian Tong Ji");
m_userId = text;
break;
case 107:
CCLOG("EditBox XinXi_XiuGai_uGold");
m_userGold = text;
break;
case 108:
CCLOG("EditBox XinXi_XiuGai_bGold");
m_bankGold = text;
break;
case 111:
CCLOG("EditBox wxhh_heitao");
m_wxhhHeiCount = text;
break;
case 112:
CCLOG("EditBox wxhh_hongtao");
m_wxhhHongCount = text;
break;
case 113:
CCLOG("EditBox wxhh_meihua");
m_wxhhMeiCount = text;
break;
case 114:
CCLOG("EditBox wxhh_fangkuai");
m_wxhhFangCount = text;
break;
case 115:
CCLOG("EditBox wxhh_wang");
m_wxhhWangCount = text;
break;
case 121:
CCLOG("EditBox esyd_userId");
m_esydUserId = text;
break;
case 122:
CCLOG("EditBox esyd_count");
m_esydCount = text;
break;
case 130:
CCLOG("EditBox fqzs_JS_count");
fqzsJSNum = text;
break;
case 131:
CCLOG("EditBox fqzs_TZ_count");
fqzsTZNum = text;
break;
case 132:
CCLOG("EditBox fqzs_HZ_count");
fqzsHZNum = text;
break;
case 133:
CCLOG("EditBox fqzs_TC_count");
fqzsTCNum = text;
break;
case 134:
CCLOG("EditBox fqzs_XM_count");
fqzsXMNum = text;
break;
case 135:
CCLOG("EditBox fqzs_SZ_count");
fqzsSZNum = text;
break;
case 136:
CCLOG("EditBox fqzs_LS_count");
fqzsLSNum = text;
break;
case 137:
CCLOG("EditBox fqzs_LY_count");
fqzsLYNum = text;
break;
case 138:
CCLOG("EditBox fqzs_KQ_count");
fqzsKQNum = text;
break;
case 139:
CCLOG("EditBox fqzs_TP_count");
fqzsTPNum = text;
break;
case 140:
CCLOG("EditBox fqzs_GZ_count");
fqzsGZNum = text;
break;
case 141:
CCLOG("EditBox fqzs_YZ_count");
fqzsYZNum = text;
break;
default:
break;
}
CCLOG("EditBox[%d--%s]", editBox->getTag(), text.c_str());
}
//隐藏右边信息
void Management::HideRightPanal()
{
m_pZaiXianTongJi->setVisible(false); //在线统计
m_pUserList->setVisible(false); //玩家列表
m_pChongZhiJiLu->setVisible(false); //充值记录
m_pChongZhiXiangQing->setVisible(false); //
m_pZhuanZhangJiLu->setVisible(false); //转账记录
m_pWanJiaChaXun->setVisible(false); //玩家查询
m_pDongJie_JieDong->setVisible(false); //冻结解冻
m_pXinXi_XiuGai->setVisible(false); //信息修改
m_pJiaoYi_CheHui->setVisible(false); //交易撤回
m_pControl_wxhh->setVisible(false); //五星宏辉
m_pControl_esyd->setVisible(false); //21点
m_pControl_fqzs->setVisible(false); //飞禽走兽
}
//db返回处理
void Management::onEventDataBase(void * pData, int cType)
{
switch (cType)
{
case callType::proc_Logon://管理员登录
{
int iCode = -1;
tagDBReturnRes* pRes = (tagDBReturnRes*)pData;
if (pRes->resCode == -1)
{
m_txtInfo->setString("password is error");
m_txtInfo->setVisible(true);
return;
}
else if (pRes->resCode == 0){
ManagementLogonOK();
}
}break;
case callType::proc_wjcx: //玩家查询
{
if (pData != NULL){
ShowWanJiaChaXun(pData);
}
}break;
case callType::proc_zxrs://在线人数
{
tagZaiXianTongJi* pRes = (tagZaiXianTongJi*)pData;
ZaiXianTongJi(pRes->totalOnline, pRes->online_wxhh, pRes->online_21dian, pRes->online_fqzs);
}break;
default:
break;
}
}
void Management::CheckLogon()
{
if (m_account.length() == 0)
{
m_txtInfo->setString("account is null");
m_txtInfo->setVisible(true);
return;
}
if (m_password.length() == 0)
{
m_txtInfo->setString("password is null");
m_txtInfo->setVisible(true);
return;
}
CallLogonProc();
}
//管理员登录
void Management::ManagementLogonOK()
{
m_LogonNode->setVisible(false);
m_LeftNode->setVisible(true);
m_RightNode->setVisible(true);
modifyBtnImage(m_lZaiXianTJiBtn);
m_pZaiXianTongJi->setVisible(true);
CallZaiXianTongJiProc();
}
void Management::GetLogonAccPwd()
{
auto _acc = (TextField*)m_LogonNode->getChildByName("TextField_1");
_acc->setVisible(false);
auto _img1 = (ImageView*)m_LogonNode->getChildByName("Image_1");
_img1->setVisible(false);
//createEditBox(m_LogonNode, _img1, _acc, 101);
auto accBox = EditBox::create(_img1->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
accBox->setPosition(_img1->getPosition());
accBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
accBox->setFontSize(36);
accBox->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
accBox->setPlaceHolder(_acc->getPlaceHolder().c_str());
accBox->setReturnType(EditBox::KeyboardReturnType::DONE);
accBox->setInputMode(EditBox::InputMode::SINGLE_LINE);
//accBox->setTouchEnabled(true);
accBox->setDelegate(this);
accBox->setMaxLength(20);
accBox->setTag(101);
m_LogonNode->addChild(accBox);
//
auto _pwd = (TextField*)m_LogonNode->getChildByName("TextField_2");
_pwd->setVisible(false);
auto _img2 = (ImageView*)m_LogonNode->getChildByName("Image_2");
_img2->setVisible(false);
auto pwdBox = EditBox::create(_img2->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
pwdBox->setPosition(_img2->getPosition());
pwdBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
pwdBox->setFontSize(36);
pwdBox->setFontColor(Color3B::WHITE);
pwdBox->setPlaceHolder(_pwd->getPlaceHolder().c_str());
pwdBox->setReturnType(EditBox::KeyboardReturnType::DONE);
pwdBox->setInputMode(EditBox::InputMode::SINGLE_LINE);
pwdBox->setInputFlag(EditBox::InputFlag::PASSWORD);
//pwdBox->setTouchEnabled(true);
pwdBox->setDelegate(this);
pwdBox->setMaxLength(20);
pwdBox->setTag(102);
m_LogonNode->addChild(pwdBox);
}
void Management::CallLogonProc()
{
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_ManagementLogin_management('%s','%s')", m_account.c_str(), m_password.c_str());
//string out = "SELECT @ErrCode ";
exeSQL(proc, /*out,*/ callType::proc_Logon);
}
void Management::CallWanJiaLieBiaoProc()
{
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryUserList_management()");
exeSQL(proc, callType::proc_wjlb);
}
//玩家列表
void Management::ShowWanJiaLieBiao()
{
HideRightPanal();
m_pUserList->setVisible(true);
//数据列表
ListView* pScroll = static_cast<ListView *>(m_pUserList->getChildByName("ListView"));
pScroll->removeAllChildren();
pScroll->setItemsMargin(6);
list<tagUserInfo *>::iterator it;
it = listUserList.begin();
for (; it != listUserList.end(); it++)
{
tagUserInfo * pData = *it;
ImageView* newGg = ImageView::create("management/img_bataBg.png");
Text* pId = Text::create(StringUtils::toString(pData->userId), "微软雅黑", 26);
pId->setPosition(m_wjlb_posId);
//pId->setAnchorPoint(ccp(0, 0.5));
newGg->addChild(pId);
Text* pName = Text::create(pData->nickName, "微软雅黑", 26);
pName->setPosition(m_wjlb_posName);
newGg->addChild(pName);
string _str = "否";
if (pData->sPort != 0)
_str = "是";
Text* pState = Text::create(_str, "微软雅黑", 26);
pState->setPosition(m_wjlb_posState);
newGg->addChild(pState);
Text* pUserGolds = Text::create(StringUtils::toString(pData->userGolds), "微软雅黑", 26);
pUserGolds->setPosition(m_wjlb_posUG);
newGg->addChild(pUserGolds);
Text* pBankGolds = Text::create(StringUtils::toString(pData->bankGolds), "微软雅黑", 26);
pBankGolds->setPosition(m_wjlb_posBG);
newGg->addChild(pBankGolds);
Text* pCZCS = Text::create(StringUtils::toString(pData->rechargeCoinsTimes), "微软雅黑", 26);
pCZCS->setPosition(m_wjlb_posCZCS);
newGg->addChild(pCZCS);
Text* pTotal = Text::create(StringUtils::toString(pData->rechargeTotalCoins), "微软雅黑", 26);
pTotal->setPosition(m_wjlb_posCZJE);
newGg->addChild(pTotal);
Text* pRecord = Text::create(StringUtils::toString(pData->historyCoinsRecord), "微软雅黑", 26);
pRecord->setPosition(m_wjlb_posLJSY);
newGg->addChild(pRecord);
Text* pZXSC = Text::create(StringUtils::toString(0), "微软雅黑", 26);
pZXSC->setPosition(m_wjlb_posZXSC);
newGg->addChild(pZXSC);
newGg->setPosition(m_wjlb_posBg);
newGg->setVisible(true);
pScroll->pushBackCustomItem(newGg);
}
}
//充值记录
void Management::ChongZhiJiLu()
{
HideRightPanal();
m_pChongZhiJiLu->setVisible(true);
ListView* pScroll = static_cast<ListView *>(m_pChongZhiJiLu->getChildByName("ListView"));
pScroll->removeAllChildren();
pScroll->setItemsMargin(6);
list<tagChongzhiJilu *>::iterator itCZJL;
itCZJL = listChongzhiJilu.begin();
for (; itCZJL != listChongzhiJilu.end(); itCZJL++)
{
tagChongzhiJilu * pData = *itCZJL;
ImageView* newGg = ImageView::create("management/img_bataBg.png");
Text* pId = Text::create(StringUtils::toString(pData->userId), "微软雅黑", 26);
pId->setPosition(m_czjl_posId);
newGg->addChild(pId);
Text* pName = Text::create(pData->nickName, "微软雅黑", 26);
pName->setPosition(m_czjl_posName);
newGg->addChild(pName);
Text* pSumCount = Text::create(StringUtils::toString(pData->payCount), "微软雅黑", 26);
pSumCount->setPosition(m_czjl_posSumCount);
newGg->addChild(pSumCount);
Text* pSumRMB = Text::create(StringUtils::toString(pData->payRMB), "微软雅黑", 26);
pSumRMB->setPosition(m_czjl_posSumRMB);
newGg->addChild(pSumRMB);
newGg->setPosition(m_czjl_posBg);
newGg->setVisible(true);
pScroll->pushBackCustomItem(newGg);
}
}
void Management::CallChongZhiJiLuProc()
{
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryUserRechargeCoinsTotal_management()");
exeSQL(proc, callType::proc_czjl);
}
//充值详情
void Management::ChongZhiXiangQing()
{
HideRightPanal();
m_pChongZhiXiangQing->setVisible(true);
//查询按钮
Button* pQueryBtn = (Button*)m_pChongZhiXiangQing->getChildByName("btn_query");
pQueryBtn->setTag(reqTag::TAG_rCZQXBtn);
pQueryBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//userId输入框
auto _acc = (TextField*)m_pChongZhiXiangQing->getChildByName("TextField");
_acc->setVisible(false);
auto _img = (ImageView*)m_pChongZhiXiangQing->getChildByName("Image_3");
_img->setVisible(false);
createEditBox(m_pChongZhiXiangQing, _img, _acc, 103);
//auto accBox = EditBox::create(_img->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
//accBox->setPosition(_img->getPosition());
//accBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
//accBox->setFontSize(36);
//accBox->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
//accBox->setPlaceHolder(_acc->getPlaceHolder().c_str());
//accBox->setReturnType(EditBox::KeyboardReturnType::DONE);
//accBox->setInputMode(EditBox::InputMode::SINGLE_LINE);
//accBox->setDelegate(this);
//accBox->setMaxLength(20);
//accBox->setTag(103);
//m_pChongZhiXiangQing->addChild(accBox);
}
void Management::ShowChongZhiXiangQing()
{
//数据列表
ListView* pScroll = static_cast<ListView *>(m_pChongZhiXiangQing->getChildByName("ListView"));
pScroll->removeAllChildren();
pScroll->setItemsMargin(6);
list<tagChongzhiXiangqing *>::iterator it;
it = listChongzhiXiangqing.begin();
for (; it != listChongzhiXiangqing.end(); it++)
{
tagChongzhiXiangqing * pData = *it;
ImageView* newGg = ImageView::create("management/img_bataBg.png");
Text* pId = Text::create(StringUtils::toString(pData->userId), "微软雅黑", 26);
pId->setPosition(m_czxq_posId);
newGg->addChild(pId);
Text* pName = Text::create(pData->nickName, "微软雅黑", 26);
pName->setPosition(m_czxq_posName);
newGg->addChild(pName);
Text* pOrder = Text::create(StringUtils::toString(pData->orderNum), "微软雅黑", 26);
pOrder->setPosition(m_czxq_posOrder);
newGg->addChild(pOrder);
Text* pSumRMB = Text::create(StringUtils::toString(pData->payRMB), "微软雅黑", 26);
pSumRMB->setPosition(m_czxq_posRMB);
newGg->addChild(pSumRMB);
Text* pTime = Text::create(pData->payTime, "微软雅黑", 26);
pTime->setPosition(m_czxq_posTime);
newGg->addChild(pTime);
newGg->setPosition(m_czxq_posBg);
newGg->setVisible(true);
pScroll->pushBackCustomItem(newGg);
}
}
//转账记录
void Management::ZhuanZhangJiLu()
{
HideRightPanal();
m_pZhuanZhangJiLu->setVisible(true);
//查询按钮
Button* pQueryBtn = (Button*)m_pZhuanZhangJiLu->getChildByName("btn_query");
pQueryBtn->setTag(reqTag::TAG_rZZJLBtn);
pQueryBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//userId输入框
auto _acc = (TextField*)m_pZhuanZhangJiLu->getChildByName("TextField");
_acc->setVisible(false);
auto _img = (ImageView*)m_pZhuanZhangJiLu->getChildByName("Image_3_0");
_img->setVisible(false);
createEditBox(m_pZhuanZhangJiLu, _img, _acc, 104);
//auto accBox = EditBox::create(_img->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
//accBox->setPosition(_img->getPosition());
//accBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
//accBox->setFontSize(36);
//accBox->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
//accBox->setPlaceHolder(_acc->getPlaceHolder().c_str());
//accBox->setReturnType(EditBox::KeyboardReturnType::DONE);
//accBox->setInputMode(EditBox::InputMode::SINGLE_LINE);
//accBox->setDelegate(this);
//accBox->setMaxLength(20);
//accBox->setTag(104);
//m_pZhuanZhangJiLu->addChild(accBox);
}
void Management::ShowZhuanZhangJiLu()
{
//数据列表
ListView* pScroll = static_cast<ListView *>(m_pZhuanZhangJiLu->getChildByName("ListView"));
pScroll->removeAllChildren();
pScroll->setItemsMargin(6);
int index = 0;
list<tagZhuanzhangJilu *>::iterator it;
it = listZhuanzhangJilu.begin();
for (; it != listZhuanzhangJilu.end(); it++)
{
tagZhuanzhangJilu * pData = *it;
ImageView* newGg = ImageView::create("management/img_bataBg.png");
Text* pIdA = Text::create(StringUtils::toString(pData->userId_Out), "微软雅黑", 26);
pIdA->setPosition(m_zzjl_posOUser);
newGg->addChild(pIdA);
Text* pNameA = Text::create(pData->nickName_Out, "微软雅黑", 26);
pNameA->setPosition(m_zzjl_posOName);
newGg->addChild(pNameA);
Text* pIdB = Text::create(StringUtils::toString(pData->userId_In), "微软雅黑", 26);
pIdB->setPosition(m_zzjl_posIUser);
newGg->addChild(pIdB);
Text* pNameB = Text::create(pData->nickName_In, "微软雅黑", 26);
pNameB->setPosition(m_zzjl_posIName);
newGg->addChild(pNameB);
Text* pGoldNum = Text::create(StringUtils::toString(pData->zzGoldNum), "微软雅黑", 26);
pGoldNum->setPosition(m_zzjl_posNum);
newGg->addChild(pGoldNum);
Text* pTime = Text::create(pData->zzTime, "微软雅黑", 26);
pTime->setPosition(m_zzjl_posTime);
newGg->addChild(pTime);
Button* pBtn = Button::create("management/img_btnBgS.png","management/img_btnBgS1.png","management/img_btnBgS.png");
pBtn->setPosition(m_zzjl_posBtn);
pBtn->setTitleText("交易撤回");
pBtn->setTitleFontSize(24);
pBtn->setTag(3000 + index);
newGg->addChild(pBtn);
pBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBackZZJL));
newGg->setPosition(m_czxq_posBg);
newGg->setVisible(true);
pScroll->pushBackCustomItem(newGg);
index++;
}
}
void Management::touchCallBackZZJL(cocos2d::Ref* pSender, TouchEventType type)
{
if (type != TouchEventType::TOUCH_EVENT_ENDED)
return;
int iTag = ((Node*)(pSender))->getTag();
list<tagZhuanzhangJilu *>::iterator it;
it = listZhuanzhangJilu.begin();
tagZhuanzhangJilu * pData;
for (int i = 0; it != listZhuanzhangJilu.end(); it++, i++)
{
if (i == (iTag - 3000)){
pData = *it;
break;
}
}
//显示交易撤回UI
if (pData != NULL)
{
JiaoYi_CheHui(pData->userId_Out, pData->userId_In, pData->zzGoldNum, pData->zzTime);
}
}
//玩家查询
void Management::WanJiaChaXun()
{
HideRightPanal();
m_pWanJiaChaXun->setVisible(true);
//查询按钮
Button* pQueryBtn = (Button*)m_pWanJiaChaXun->getChildByName("btn_query");
pQueryBtn->setTag(reqTag::TAG_rWJCXBtn);
pQueryBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//userId输入框
auto _acc = (TextField*)m_pWanJiaChaXun->getChildByName("TextField");
_acc->setVisible(false);
auto _img = (ImageView*)m_pWanJiaChaXun->getChildByName("Image_282");
_img->setVisible(false);
createEditBox(m_pWanJiaChaXun, _img, _acc, 105);
//auto accBox = EditBox::create(_img->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
//accBox->setPosition(_img->getPosition());
//accBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
//accBox->setFontSize(36);
//accBox->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
//accBox->setPlaceHolder(_acc->getPlaceHolder().c_str());
//accBox->setReturnType(EditBox::KeyboardReturnType::DONE);
//accBox->setInputMode(EditBox::InputMode::SINGLE_LINE);
//accBox->setDelegate(this);
//accBox->setMaxLength(20);
//accBox->setTag(105);
//m_pWanJiaChaXun->addChild(accBox);
}
void Management::ShowWanJiaChaXun(void* pData)
{
tagUserInfo* pRes = (tagUserInfo*)pData;
Text* pId = (Text*)m_pWanJiaChaXun->getChildByName("txt_userid");
pId->setString(StringUtils::format("%d", pRes->userId));
Text* pName = (Text*)m_pWanJiaChaXun->getChildByName("txt_username");
pName->setString(pRes->nickName);
Text* pState = (Text*)m_pWanJiaChaXun->getChildByName("txt_userstate");
if (pRes->sPort == 0)
pState->setString("否");
else{
pState->setString("是");
}
Text* pUG = (Text*)m_pWanJiaChaXun->getChildByName("txt_userscore");
pUG->setString(StringUtils::format("%d", pRes->userGolds));
Text* pBG = (Text*)m_pWanJiaChaXun->getChildByName("txt_bankscore");
pBG->setString(StringUtils::format("%d", pRes->userGolds));
Text* pPayTimes = (Text*)m_pWanJiaChaXun->getChildByName("txt_paycount");
pPayTimes->setString(StringUtils::format("%d", pRes->rechargeCoinsTimes));
Text* pPaySum = (Text*)m_pWanJiaChaXun->getChildByName("txt_payRMB");
pPaySum->setString(StringUtils::format("%d", pRes->rechargeTotalCoins));
Text* pRecord = (Text*)m_pWanJiaChaXun->getChildByName("txt_wlScore_lastmonth");
pRecord->setString(StringUtils::format("%d", pRes->historyCoinsRecord));
Text* pZXSC = (Text*)m_pWanJiaChaXun->getChildByName("txt_onlinetime");
pZXSC->setString(StringUtils::format("%d", 512));
}
//在线统计
void Management::ZaiXianTongJi(int sum, int wxhh, int esyd, int fqzs)
{
HideRightPanal();
m_pZaiXianTongJi->setVisible(true);
//sum
ImageView * dataBg = static_cast<ImageView *>(m_pZaiXianTongJi->getChildByName("img_data_bg0"));
Text * pNum = static_cast<Text *>(dataBg->getChildByName("txt_online_num"));
string onlineNum = StringUtils::format("%d", sum);
pNum->setString(onlineNum);
//wxhh
ImageView * dataBg1 = static_cast<ImageView *>(m_pZaiXianTongJi->getChildByName("img_data_bg1"));
Text * pNum1 = static_cast<Text *>(dataBg1->getChildByName("txt_online_num"));
string onlineNum1 = StringUtils::format("%d", wxhh);
pNum1->setString(onlineNum1);
//21d
ImageView * dataBg2 = static_cast<ImageView *>(m_pZaiXianTongJi->getChildByName("img_data_bg2"));
Text * pNum2 = static_cast<Text *>(dataBg2->getChildByName("txt_online_num"));
string onlineNum2 = StringUtils::format("%d", esyd);
pNum2->setString(onlineNum2);
//fqzs
ImageView * dataBg3 = static_cast<ImageView *>(m_pZaiXianTongJi->getChildByName("img_data_bg3"));
Text * pNum3 = static_cast<Text *>(dataBg3->getChildByName("txt_online_num"));
string onlineNum3 = StringUtils::format("%d", fqzs);
pNum3->setString(onlineNum3);
}
void Management::CallZaiXianTongJiProc()
{
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryOnlineNumInfo_management()");
exeSQL(proc, callType::proc_zxrs);
}
//冻结解冻
void Management::DongJie_JieDong()
{
HideRightPanal();
m_pDongJie_JieDong->setVisible(true);
//冻结按钮
Button* pBtn1 = (Button*)m_pDongJie_JieDong->getChildByName("btn_dongjie");
pBtn1->setTag(reqTag::TAG_rZHDJBtn);
pBtn1->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//解冻按钮
Button* pBtn2 = (Button*)m_pDongJie_JieDong->getChildByName("btn_jiedong");
pBtn2->setTag(reqTag::TAG_rZHJDBtn);
pBtn2->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//userId输入框
auto _acc = (TextField*)m_pDongJie_JieDong->getChildByName("TextField");
_acc->setVisible(false);
auto _img = (ImageView*)m_pDongJie_JieDong->getChildByName("Image_90");
_img->setVisible(false);
createEditBox(m_pDongJie_JieDong, _img, _acc, 106);
//auto accBox = EditBox::create(_img->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
//accBox->setPosition(_img->getPosition());
//accBox->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
//accBox->setFontSize(36);
//accBox->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
//accBox->setPlaceHolder(_acc->getPlaceHolder().c_str());
//accBox->setReturnType(EditBox::KeyboardReturnType::DONE);
//accBox->setInputMode(EditBox::InputMode::SINGLE_LINE);
//accBox->setDelegate(this);
//accBox->setMaxLength(20);
//accBox->setTag(106);
//m_pDongJie_JieDong->addChild(accBox);
}
//信息修改
void Management::XinXi_XiuGai()
{
HideRightPanal();
m_pXinXi_XiuGai->setVisible(true);
//修改按钮
Button* pBtn = (Button*)m_pXinXi_XiuGai->getChildByName("btn_submit");
pBtn->setTag(reqTag::TAG_rXinXiXGBtn);
pBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//携带金币输入框
auto _uGold = (TextField*)m_pXinXi_XiuGai->getChildByName("TextField_2");
_uGold->setVisible(false);
auto _img1 = (ImageView*)m_pXinXi_XiuGai->getChildByName("Image_91_1");
_img1->setVisible(false);
createEditBox(m_pXinXi_XiuGai, _img1, _uGold, 107);
//auto uGold = EditBox::create(_img1->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
//uGold->setPosition(_img1->getPosition());
//uGold->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
//uGold->setFontSize(36);
//uGold->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
//uGold->setPlaceHolder(_uGold->getPlaceHolder().c_str());
//uGold->setReturnType(EditBox::KeyboardReturnType::DONE);
//uGold->setInputMode(EditBox::InputMode::SINGLE_LINE);
//uGold->setDelegate(this);
//uGold->setMaxLength(20);
//uGold->setTag(107);
//m_pXinXi_XiuGai->addChild(uGold);
//银行金币输入框
auto _bGold = (TextField*)m_pXinXi_XiuGai->getChildByName("TextField_3");
_bGold->setVisible(false);
auto _img2 = (ImageView*)m_pXinXi_XiuGai->getChildByName("Image_91_2");
_img2->setVisible(false);
createEditBox(m_pXinXi_XiuGai, _img2, _bGold, 108);
//auto bGold = EditBox::create(_img2->getContentSize(), Scale9Sprite::create("management/img_inputBg.png"));
//bGold->setPosition(_img2->getPosition());
//bGold->setAnchorPoint(CCPoint::ANCHOR_MIDDLE);
//bGold->setFontSize(36);
//bGold->setFontColor(Color3B::WHITE);//Color3B(0, 0, 0)
//bGold->setPlaceHolder(_bGold->getPlaceHolder().c_str());
//bGold->setReturnType(EditBox::KeyboardReturnType::DONE);
//bGold->setInputMode(EditBox::InputMode::SINGLE_LINE);
//bGold->setDelegate(this);
//bGold->setMaxLength(20);
//bGold->setTag(108);
//m_pXinXi_XiuGai->addChild(bGold);
}
//交易撤回
void Management::JiaoYi_CheHui(int idA, int idB, int num, string time)
{
HideRightPanal();
m_pJiaoYi_CheHui->setVisible(true);
Text* pIdA = (Text*)m_pJiaoYi_CheHui->getChildByName("txt_id_A");
pIdA->setString(StringUtils::format("%d", idA));
Text* pIdB = (Text*)m_pJiaoYi_CheHui->getChildByName("txt_id_B");
pIdB->setString(StringUtils::format("%d", idB));
Text* pNum = (Text*)m_pJiaoYi_CheHui->getChildByName("txt_num");
pNum->setString(StringUtils::format("%d", num));
Text* pTime = (Text*)m_pJiaoYi_CheHui->getChildByName("txt_time");
pTime->setString(time);
//撤回按钮
Button* pBtn = (Button*)m_pJiaoYi_CheHui->getChildByName("btn_submit");
pBtn->setTag(reqTag::TAG_rJiaoYiCHBtn);
pBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
}
//五星宏辉
void Management::GameControl_WXHH()
{
HideRightPanal();
m_pControl_wxhh->setVisible(true);
//初级房
Button* pRoom1 = (Button*)m_pControl_wxhh->getChildByName("btn_bg1");
pRoom1->setTag(reqTag::TAG_wxhhRoom1);
pRoom1->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//中级房
Button* pRoom2 = (Button*)m_pControl_wxhh->getChildByName("btn_bg2");
pRoom2->setTag(reqTag::TAG_wxhhRoom2);
pRoom2->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//高级房
Button* pRoom3 = (Button*)m_pControl_wxhh->getChildByName("btn_bg3");
pRoom3->setTag(reqTag::TAG_wxhhRoom3);
pRoom3->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//刷新
Button* pFlush = (Button*)m_pControl_wxhh->getChildByName("btn_flush");
pFlush->setTag(reqTag::TAG_wxhhRoomFlush);
pFlush->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//---------黑桃--------
Button* pBtn1 = (Button*)m_pControl_wxhh->getChildByName("Button_0");
pBtn1->setTag(reqTag::TAG_wxhhHeiBtn);
pBtn1->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf1 = (TextField*)m_pControl_wxhh->getChildByName("TextField_0");
_tf1->setVisible(false);
auto _img1 = (ImageView*)m_pControl_wxhh->getChildByName("Image_1");
_img1->setVisible(false);
createEditBox(m_pControl_wxhh, _img1, _tf1, 111);
//红桃
Button* pBtn2 = (Button*)m_pControl_wxhh->getChildByName("Button_1");
pBtn2->setTag(reqTag::TAG_wxhhHongBtn);
pBtn2->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf2 = (TextField*)m_pControl_wxhh->getChildByName("TextField_1");
_tf2->setVisible(false);
auto _img2 = (ImageView*)m_pControl_wxhh->getChildByName("Image_2");
_img2->setVisible(false);
createEditBox(m_pControl_wxhh, _img2, _tf2, 112);
//梅花
Button* pBtn3 = (Button*)m_pControl_wxhh->getChildByName("Button_2");
pBtn3->setTag(reqTag::TAG_wxhhMeiBtn);
pBtn3->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf3 = (TextField*)m_pControl_wxhh->getChildByName("TextField_2");
_tf3->setVisible(false);
auto _img3 = (ImageView*)m_pControl_wxhh->getChildByName("Image_3");
_img3->setVisible(false);
createEditBox(m_pControl_wxhh, _img3, _tf3, 113);
//方块
Button* pBtn4 = (Button*)m_pControl_wxhh->getChildByName("Button_3");
pBtn4->setTag(reqTag::TAG_wxhhFangBtn);
pBtn4->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf4 = (TextField*)m_pControl_wxhh->getChildByName("TextField_3");
_tf4->setVisible(false);
auto _img4 = (ImageView*)m_pControl_wxhh->getChildByName("Image_4");
_img4->setVisible(false);
createEditBox(m_pControl_wxhh, _img4, _tf4, 114);
//王
Button* pBtn5 = (Button*)m_pControl_wxhh->getChildByName("Button_4");
pBtn5->setTag(reqTag::TAG_wxhhWangBtn);
pBtn5->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf5 = (TextField*)m_pControl_wxhh->getChildByName("TextField_4");
_tf5->setVisible(false);
auto _img5 = (ImageView*)m_pControl_wxhh->getChildByName("Image_5");
_img5->setVisible(false);
createEditBox(m_pControl_wxhh, _img5, _tf5, 115);
//确定
Button* pBtn = (Button*)m_pControl_wxhh->getChildByName("btn_submit");
pBtn->setTag(reqTag::TAG_wxhhSubmitBtn);
pBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//取消
Button* pBtnQX = (Button*)m_pControl_wxhh->getChildByName("btn_cancel");
pBtnQX->setTag(reqTag::TAG_wxhhCancelBtn);
pBtnQX->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
}
void Management::HideBtn_WXHH()
{
for (int i = 0; i <= 4; i++){
string str = StringUtils::format("btn_type%d", i);
(m_pControl_wxhh->getChildByName(str))->setVisible(false);
((EditBox *)m_pControl_wxhh->getChildByTag(111 + i))->setText("");
}
ResetValue_WXHH();
}
void Management::ResetValue_WXHH()
{
m_wxhhHeiCount = "";
m_wxhhHongCount = "";
m_wxhhMeiCount = "";
m_wxhhFangCount = "";
m_wxhhWangCount = "";
}
void Management::SwitchBtn_WXHH(int index)
{
if (1 == index)
{
HideBtn_WXHH();
(m_pControl_wxhh->getChildByName("btn_type0"))->setVisible(true);
}
else if (2 == index)
{
HideBtn_WXHH();
(m_pControl_wxhh->getChildByName("btn_type1"))->setVisible(true);
}
else if (3 == index)
{
HideBtn_WXHH();
(m_pControl_wxhh->getChildByName("btn_type2"))->setVisible(true);
}
else if (4 == index)
{
HideBtn_WXHH();
(m_pControl_wxhh->getChildByName("btn_type3"))->setVisible(true);
}
else if (5 == index)
{
HideBtn_WXHH();
(m_pControl_wxhh->getChildByName("btn_type4"))->setVisible(true);
}
}
void Management::SwitchBtn_WXHH_Room(int index)
{
if (1 == index)
{
(m_pControl_wxhh->getChildByName("btn_check1"))->setVisible(true);
(m_pControl_wxhh->getChildByName("btn_check2"))->setVisible(false);
(m_pControl_wxhh->getChildByName("btn_check3"))->setVisible(false);
}
else if (2 == index)
{
(m_pControl_wxhh->getChildByName("btn_check1"))->setVisible(false);
(m_pControl_wxhh->getChildByName("btn_check2"))->setVisible(true);
(m_pControl_wxhh->getChildByName("btn_check3"))->setVisible(false);
}
else if (3 == index)
{
(m_pControl_wxhh->getChildByName("btn_check1"))->setVisible(false);
(m_pControl_wxhh->getChildByName("btn_check2"))->setVisible(false);
(m_pControl_wxhh->getChildByName("btn_check3"))->setVisible(true);
}
}
void Management::FlushBetInfoWXHH()
{
bool btnShow1 = (m_pControl_wxhh->getChildByName("btn_check1"))->isVisible();
bool btnShow2 = (m_pControl_wxhh->getChildByName("btn_check2"))->isVisible();
bool btnShow3 = (m_pControl_wxhh->getChildByName("btn_check3"))->isVisible();
Text* pTxt1 = (Text*)m_pControl_wxhh->getChildByName("txt_yazhu1");
Text* pTxt2 = (Text*)m_pControl_wxhh->getChildByName("txt_yazhu2");
Text* pTxt3 = (Text*)m_pControl_wxhh->getChildByName("txt_yazhu3");
Text* pTxt4 = (Text*)m_pControl_wxhh->getChildByName("txt_yazhu4");
Text* pTxt5 = (Text*)m_pControl_wxhh->getChildByName("txt_yazhu5");
Text* pCont = (Text*)m_pControl_wxhh->getChildByName("txt_control_info");
list<tagBetInfoWXHH *>::iterator it;
it = listBetInfoWXHH.begin();
for (; it != listBetInfoWXHH.end(); it++)
{
tagBetInfoWXHH * pData = *it;
if (btnShow1 && pData->roomLevel==1)
{
pTxt1->setString(StringUtils::format("黑桃押注:%d", pData->bet1));
pTxt2->setString(StringUtils::format("红桃押注:%d", pData->bet2));
pTxt3->setString(StringUtils::format("梅花押注:%d", pData->bet3));
pTxt4->setString(StringUtils::format("方块押注:%d", pData->bet4));
pTxt5->setString(StringUtils::format("王押注:%d", pData->bet5));
if (pData->controlType == 0){
pCont->setString(StringUtils::format("当前控制:黑桃,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(true, false, false, false, false);
}
else if (pData->controlType == 1){
pCont->setString(StringUtils::format("当前控制:红桃,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, true, false, false, false);
}
else if (pData->controlType == 2){
pCont->setString(StringUtils::format("当前控制:梅花,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, true, false, false);
}
else if (pData->controlType == 3){
pCont->setString(StringUtils::format("当前控制:方块,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, false, true, false);
}
else if (pData->controlType == 4){
pCont->setString(StringUtils::format("当前控制:王,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, false, false, true);
}
else if (pData->controlType == -1){
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_WXHH(false, false, false, false, false);
}
}
if (btnShow2 && pData->roomLevel == 2)
{
pTxt1->setString(StringUtils::format("黑桃押注:%d", pData->bet1));
pTxt2->setString(StringUtils::format("红桃押注:%d", pData->bet2));
pTxt3->setString(StringUtils::format("梅花押注:%d", pData->bet3));
pTxt4->setString(StringUtils::format("方块押注:%d", pData->bet4));
pTxt5->setString(StringUtils::format("王押注:%d", pData->bet5));
if (pData->controlType == 0){
pCont->setString(StringUtils::format("当前控制:黑桃,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(true, false, false, false, false);
}
else if (pData->controlType == 1){
pCont->setString(StringUtils::format("当前控制:红桃,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, true, false, false, false);
}
else if (pData->controlType == 2){
pCont->setString(StringUtils::format("当前控制:梅花,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, true, false, false);
}
else if (pData->controlType == 3){
pCont->setString(StringUtils::format("当前控制:方块,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, false, true, false);
}
else if (pData->controlType == 4){
pCont->setString(StringUtils::format("当前控制:王,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, false, false, true);
}
else if (pData->controlType == -1){
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_WXHH(false, false, false, false, false);
}
}
if (btnShow3 && pData->roomLevel == 3)
{
pTxt1->setString(StringUtils::format("黑桃押注:%d", pData->bet1));
pTxt2->setString(StringUtils::format("红桃押注:%d", pData->bet2));
pTxt3->setString(StringUtils::format("梅花押注:%d", pData->bet3));
pTxt4->setString(StringUtils::format("方块押注:%d", pData->bet4));
pTxt5->setString(StringUtils::format("王押注:%d", pData->bet5));
if (pData->controlType == 0){
pCont->setString(StringUtils::format("当前控制:黑桃,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(true, false, false, false, false);
}
else if (pData->controlType == 1){
pCont->setString(StringUtils::format("当前控制:红桃,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, true, false, false, false);
}
else if (pData->controlType == 2){
pCont->setString(StringUtils::format("当前控制:梅花,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, true, false, false);
}
else if (pData->controlType == 3){
pCont->setString(StringUtils::format("当前控制:方块,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, false, true, false);
}
else if (pData->controlType == 4){
pCont->setString(StringUtils::format("当前控制:王,剩余:%d局", pData->controlNum));
ShowColorBtn_WXHH(false, false, false, false, true);
}
else if (pData->controlType == -1){
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_WXHH(false, false, false, false, false);
}
}
}
}
void Management::ShowColorBtn_WXHH(bool b1, bool b2, bool b3, bool b4, bool b5)
{
(m_pControl_wxhh->getChildByName("btn_type0"))->setVisible(b1);
(m_pControl_wxhh->getChildByName("btn_type1"))->setVisible(b2);
(m_pControl_wxhh->getChildByName("btn_type2"))->setVisible(b3);
(m_pControl_wxhh->getChildByName("btn_type3"))->setVisible(b4);
(m_pControl_wxhh->getChildByName("btn_type4"))->setVisible(b5);
}
void Management::CallFlushBet_WXHH()
{
CCLOG("wxhh flush bet btn");
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryGameBetInfo_WXHH_management()");
exeSQL(proc, callType::proc_query_bet_wxhh);
}
void Management::SendSubmit_WXHH()
{
CCLOG("wxhh submit btn");
//房间
bool btnShow1 = (m_pControl_wxhh->getChildByName("btn_check1"))->isVisible();
bool btnShow2 = (m_pControl_wxhh->getChildByName("btn_check2"))->isVisible();
bool btnShow3 = (m_pControl_wxhh->getChildByName("btn_check3"))->isVisible();
int roomLevel = 0; //1初级 2中级 3高级
if (btnShow1){
roomLevel = 1;
}
else if (btnShow2){
roomLevel = 2;
}
else if (btnShow3){
roomLevel = 3;
}
Text* pCont = (Text*)m_pControl_wxhh->getChildByName("txt_control_info");
//花色
bool btnColor1 = (m_pControl_wxhh->getChildByName("btn_type0"))->isVisible();
bool btnColor2 = (m_pControl_wxhh->getChildByName("btn_type1"))->isVisible();
bool btnColor3 = (m_pControl_wxhh->getChildByName("btn_type2"))->isVisible();
bool btnColor4 = (m_pControl_wxhh->getChildByName("btn_type3"))->isVisible();
bool btnColor5 = (m_pControl_wxhh->getChildByName("btn_type4"))->isVisible();
int controlNum = 0; //控制局数
int controlType = -1; //控制类型:0黑 1红 2梅 3方 4王
if (btnColor1){
controlType = 0;
controlNum = atoi(m_wxhhHeiCount.c_str());
pCont->setString(StringUtils::format("当前控制:黑桃,剩余:%d局", controlNum));
}
if (btnColor2){
controlType = 1;
controlNum = atoi(m_wxhhHongCount.c_str());
pCont->setString(StringUtils::format("当前控制:红桃,剩余:%d局", controlNum));
}
if (btnColor3){
controlType = 2;
controlNum = atoi(m_wxhhMeiCount.c_str());
pCont->setString(StringUtils::format("当前控制:梅花,剩余:%d局", controlNum));
}
if (btnColor4){
controlType = 3;
controlNum = atoi(m_wxhhFangCount.c_str());
pCont->setString(StringUtils::format("当前控制:方块,剩余:%d局", controlNum));
}
if (btnColor5){
controlType = 4;
controlNum = atoi(m_wxhhWangCount.c_str());
pCont->setString(StringUtils::format("当前控制:王,剩余:%d局", controlNum));
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_SetGameResult_WXHH_management(%d,%d,%d,%d)", 1, roomLevel, controlType, controlNum);
exeSQL(proc, callType::proc_submit_bet_wxhh);
}
void Management::SendCancel_WXHH()
{
CCLOG("wxhh cancel btn");
//房间
bool btnShow1 = (m_pControl_wxhh->getChildByName("btn_check1"))->isVisible();
bool btnShow2 = (m_pControl_wxhh->getChildByName("btn_check2"))->isVisible();
bool btnShow3 = (m_pControl_wxhh->getChildByName("btn_check3"))->isVisible();
int roomLevel = 0; //1初级 2中级 3高级
if (btnShow1){
roomLevel = 1;
}
else if (btnShow2){
roomLevel = 2;
}
else if (btnShow3){
roomLevel = 3;
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_SetGameResult_WXHH_management(%d,%d,%d,%d)", 1, roomLevel,-1,0);
exeSQL(proc, callType::proc_cancel_bet_wxhh);
Text* pCont = (Text*)m_pControl_wxhh->getChildByName("txt_control_info");
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_WXHH(false, false, false, false, false);
HideBtn_WXHH();
}
//21点
void Management::GameControl_ESYD()
{
HideRightPanal();
m_pControl_esyd->setVisible(true);
//确定
Button* pBtn = (Button*)m_pControl_esyd->getChildByName("btn_submit");
pBtn->setTag(reqTag::TAG_esydSubmitBtn);
pBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//控制赢
Button* pBtn1 = (Button*)m_pControl_esyd->getChildByName("Button_win");
pBtn1->setTag(reqTag::TAG_esydWinBtn);
pBtn1->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//控制输
Button* pBtn2 = (Button*)m_pControl_esyd->getChildByName("Button_lost");
pBtn2->setTag(reqTag::TAG_esydLostBtn);
pBtn2->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//userId输入框
auto _tf1 = (TextField*)m_pControl_esyd->getChildByName("TextField_1");
_tf1->setVisible(false);
auto _img1 = (ImageView*)m_pControl_esyd->getChildByName("Image_76");
_img1->setVisible(false);
createEditBox(m_pControl_esyd, _img1, _tf1, 121);
//输赢局数输入框
auto _tf2 = (TextField*)m_pControl_esyd->getChildByName("TextField_2");
_tf2->setVisible(false);
auto _img2 = (ImageView*)m_pControl_esyd->getChildByName("Image_77");
_img2->setVisible(false);
createEditBox(m_pControl_esyd, _img2, _tf2, 122);
}
void Management::SwitchBtn_ESYD(int index)
{
if (1 == index)
{
(m_pControl_esyd->getChildByName("btn_win"))->setVisible(true);
(m_pControl_esyd->getChildByName("btn_lost"))->setVisible(false);
}
else if (2 == index)
{
(m_pControl_esyd->getChildByName("btn_win"))->setVisible(false);
(m_pControl_esyd->getChildByName("btn_lost"))->setVisible(true);
}
}
void Management::SendSubmit_ESYD()
{
CCLOG("21. submit btn");
}
//飞禽走兽
void Management::GameControl_FQZS()
{
HideRightPanal();
m_pControl_fqzs->setVisible(true);
//初级房
Button* pRoom1 = (Button*)m_pControl_fqzs->getChildByName("btn_bg1");
pRoom1->setTag(reqTag::TAG_fqzsRoom1);
pRoom1->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//中级房
Button* pRoom2 = (Button*)m_pControl_fqzs->getChildByName("btn_bg2");
pRoom2->setTag(reqTag::TAG_fqzsRoom2);
pRoom2->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//高级房
Button* pRoom3 = (Button*)m_pControl_fqzs->getChildByName("btn_bg3");
pRoom3->setTag(reqTag::TAG_fqzsRoom3);
pRoom3->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//fqzs金鲨
Button* pBtn0 = (Button*)m_pControl_fqzs->getChildByName("Button_0");
pBtn0->setTag(reqTag::TAG_fqzsJSBtn);
pBtn0->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf0 = (TextField*)m_pControl_fqzs->getChildByName("TextField_0");
_tf0->setVisible(false);
auto _img0 = (ImageView*)m_pControl_fqzs->getChildByName("Image_0");
_img0->setVisible(false);
createEditBox(m_pControl_fqzs, _img0, _tf0, 130);
//fqzs兔子
Button* pBtn1 = (Button*)m_pControl_fqzs->getChildByName("Button_1");
pBtn1->setTag(reqTag::TAG_fqzsTZBtn);
pBtn1->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf1 = (TextField*)m_pControl_fqzs->getChildByName("TextField_1");
_tf1->setVisible(false);
auto _img1 = (ImageView*)m_pControl_fqzs->getChildByName("Image_1");
_img1->setVisible(false);
createEditBox(m_pControl_fqzs, _img1, _tf1, 131);
//fqzs猴子
Button* pBtn2 = (Button*)m_pControl_fqzs->getChildByName("Button_2");
pBtn2->setTag(reqTag::TAG_fqzsHZBtn);
pBtn2->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf2 = (TextField*)m_pControl_fqzs->getChildByName("TextField_2");
_tf2->setVisible(false);
auto _img2 = (ImageView*)m_pControl_fqzs->getChildByName("Image_2");
_img2->setVisible(false);
createEditBox(m_pControl_fqzs, _img2, _tf2, 132);
//fqzs飞禽
Button* pBtn3 = (Button*)m_pControl_fqzs->getChildByName("Button_3");
pBtn3->setTag(reqTag::TAG_fqzsTCBtn);
pBtn3->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf3 = (TextField*)m_pControl_fqzs->getChildByName("TextField_3");
_tf3->setVisible(false);
auto _img3 = (ImageView*)m_pControl_fqzs->getChildByName("Image_3");
_img3->setVisible(false);
createEditBox(m_pControl_fqzs, _img3, _tf3, 133);
//fqzs熊猫
Button* pBtn4 = (Button*)m_pControl_fqzs->getChildByName("Button_4");
pBtn4->setTag(reqTag::TAG_fqzsXMBtn);
pBtn4->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf4 = (TextField*)m_pControl_fqzs->getChildByName("TextField_4");
_tf4->setVisible(false);
auto _img4 = (ImageView*)m_pControl_fqzs->getChildByName("Image_4");
_img4->setVisible(false);
createEditBox(m_pControl_fqzs, _img4, _tf4, 134);
//fqzs狮子
Button* pBtn5 = (Button*)m_pControl_fqzs->getChildByName("Button_5");
pBtn5->setTag(reqTag::TAG_fqzsSZBtn);
pBtn5->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf5 = (TextField*)m_pControl_fqzs->getChildByName("TextField_5");
_tf5->setVisible(false);
auto _img5 = (ImageView*)m_pControl_fqzs->getChildByName("Image_5");
_img5->setVisible(false);
createEditBox(m_pControl_fqzs, _img5, _tf5, 135);
//fqzs蓝鲨
Button* pBtn6 = (Button*)m_pControl_fqzs->getChildByName("Button_6");
pBtn6->setTag(reqTag::TAG_fqzsLSBtn);
pBtn6->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf6 = (TextField*)m_pControl_fqzs->getChildByName("TextField_6");
_tf6->setVisible(false);
auto _img6 = (ImageView*)m_pControl_fqzs->getChildByName("Image_6");
_img6->setVisible(false);
createEditBox(m_pControl_fqzs, _img6, _tf6, 136);
//fqzs老鹰
Button* pBtn7 = (Button*)m_pControl_fqzs->getChildByName("Button_7");
pBtn7->setTag(reqTag::TAG_fqzsLYBtn);
pBtn7->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf7 = (TextField*)m_pControl_fqzs->getChildByName("TextField_7");
_tf7->setVisible(false);
auto _img7 = (ImageView*)m_pControl_fqzs->getChildByName("Image_7");
_img7->setVisible(false);
createEditBox(m_pControl_fqzs, _img7, _tf7, 137);
//fqzs孔雀
Button* pBtn8 = (Button*)m_pControl_fqzs->getChildByName("Button_8");
pBtn8->setTag(reqTag::TAG_fqzsKQBtn);
pBtn8->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf8 = (TextField*)m_pControl_fqzs->getChildByName("TextField_8");
_tf8->setVisible(false);
auto _img8 = (ImageView*)m_pControl_fqzs->getChildByName("Image_8");
_img8->setVisible(false);
createEditBox(m_pControl_fqzs, _img8, _tf8, 138);
//fqzs走兽
Button* pBtn9 = (Button*)m_pControl_fqzs->getChildByName("Button_9");
pBtn9->setTag(reqTag::TAG_fqzsTPBtn);
pBtn9->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf9 = (TextField*)m_pControl_fqzs->getChildByName("TextField_9");
_tf9->setVisible(false);
auto _img9 = (ImageView*)m_pControl_fqzs->getChildByName("Image_9");
_img9->setVisible(false);
createEditBox(m_pControl_fqzs, _img9, _tf9, 139);
//fqzs鸽子
Button* pBtn10 = (Button*)m_pControl_fqzs->getChildByName("Button_10");
pBtn10->setTag(reqTag::TAG_fqzsGZBtn);
pBtn10->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf10 = (TextField*)m_pControl_fqzs->getChildByName("TextField_10");
_tf10->setVisible(false);
auto _img10 = (ImageView*)m_pControl_fqzs->getChildByName("Image_10");
_img10->setVisible(false);
createEditBox(m_pControl_fqzs, _img10, _tf10, 140);
//fqzs燕子
Button* pBtn11 = (Button*)m_pControl_fqzs->getChildByName("Button_11");
pBtn11->setTag(reqTag::TAG_fqzsYZBtn);
pBtn11->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
auto _tf11 = (TextField*)m_pControl_fqzs->getChildByName("TextField_11");
_tf11->setVisible(false);
auto _img11 = (ImageView*)m_pControl_fqzs->getChildByName("Image_11");
_img11->setVisible(false);
createEditBox(m_pControl_fqzs, _img11, _tf11, 141);
//fqzs确定
Button* pBtn = (Button*)m_pControl_fqzs->getChildByName("btn_submit");
pBtn->setTag(reqTag::TAG_fqzsSubmitBtn);
pBtn->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
//fqzs取消
Button* pBtnQX = (Button*)m_pControl_fqzs->getChildByName("btn_cancel");
pBtnQX->setTag(reqTag::TAG_fqzsCancelBtn);
pBtnQX->addTouchEventListener(this, SEL_TouchEvent(&Management::touchCallBack));
}
void Management::HideBtn_FQZS()
{
for (int i = 0; i <= 11; i++){
string str = StringUtils::format("btn_type%d",i);
(m_pControl_fqzs->getChildByName(str))->setVisible(false);
((EditBox *)m_pControl_fqzs->getChildByTag(130+i))->setText("");
}
ResetValue_FQZS();
}
void Management::ResetValue_FQZS()
{
fqzsJSNum = "";
fqzsTZNum = "";
fqzsHZNum = "";
fqzsTCNum = "";
fqzsXMNum = "";
fqzsSZNum = "";
fqzsLSNum = "";
fqzsLYNum = "";
fqzsKQNum = "";
fqzsTPNum = "";
fqzsGZNum = "";
fqzsYZNum = "";
}
void Management::SwitchBtn_FQZS(int index)
{
if (1 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type0"))->setVisible(true);
//EditBox * pBox = (EditBox *)m_pControl_fqzs->getChildByTag(136);
//pBox->setText("");
//((EditBox *)m_pControl_fqzs->getChildByTag(137))->setText("");
}
else if (2 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type1"))->setVisible(true);
}
else if (3 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type2"))->setVisible(true);
}
else if (4 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type3"))->setVisible(true);
}
else if (5 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type4"))->setVisible(true);
}
else if (6 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type5"))->setVisible(true);
}
else if (7 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type6"))->setVisible(true);
}
else if (8 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type7"))->setVisible(true);
}
else if (9 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type8"))->setVisible(true);
}
else if (10 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type9"))->setVisible(true);
}
else if (11 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type10"))->setVisible(true);
}
else if (12 == index)
{
HideBtn_FQZS();
(m_pControl_fqzs->getChildByName("btn_type11"))->setVisible(true);
}
}
void Management::SwitchBtn_FQZS_Room(int index)
{
if (1 == index)
{
(m_pControl_fqzs->getChildByName("btn_check1"))->setVisible(true);
(m_pControl_fqzs->getChildByName("btn_check2"))->setVisible(false);
(m_pControl_fqzs->getChildByName("btn_check3"))->setVisible(false);
}
else if (2 == index)
{
(m_pControl_fqzs->getChildByName("btn_check1"))->setVisible(false);
(m_pControl_fqzs->getChildByName("btn_check2"))->setVisible(true);
(m_pControl_fqzs->getChildByName("btn_check3"))->setVisible(false);
}
else if (3 == index)
{
(m_pControl_fqzs->getChildByName("btn_check1"))->setVisible(false);
(m_pControl_fqzs->getChildByName("btn_check2"))->setVisible(false);
(m_pControl_fqzs->getChildByName("btn_check3"))->setVisible(true);
}
}
void Management::ShowColorBtn_FQZS(bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7, bool b8, bool b9, bool b10, bool b11, bool b12)
{
(m_pControl_fqzs->getChildByName("btn_type0"))->setVisible(b1);
(m_pControl_fqzs->getChildByName("btn_type1"))->setVisible(b2);
(m_pControl_fqzs->getChildByName("btn_type2"))->setVisible(b3);
(m_pControl_fqzs->getChildByName("btn_type3"))->setVisible(b4);
(m_pControl_fqzs->getChildByName("btn_type4"))->setVisible(b5);
(m_pControl_fqzs->getChildByName("btn_type5"))->setVisible(b6);
(m_pControl_fqzs->getChildByName("btn_type6"))->setVisible(b7);
(m_pControl_fqzs->getChildByName("btn_type7"))->setVisible(b8);
(m_pControl_fqzs->getChildByName("btn_type8"))->setVisible(b9);
(m_pControl_fqzs->getChildByName("btn_type9"))->setVisible(b10);
(m_pControl_fqzs->getChildByName("btn_type10"))->setVisible(b11);
(m_pControl_fqzs->getChildByName("btn_type11"))->setVisible(b12);
}
void Management::CallFlushBet_FQZS()
{
CCLOG("fqzs flush bet btn");
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryGameBetInfo_FQZS_management()");
exeSQL(proc, callType::proc_query_bet_fqzs);
}
void Management::FlushBetInfoFQZS()
{
bool btnShow1 = (m_pControl_fqzs->getChildByName("btn_check1"))->isVisible();
bool btnShow2 = (m_pControl_fqzs->getChildByName("btn_check2"))->isVisible();
bool btnShow3 = (m_pControl_fqzs->getChildByName("btn_check3"))->isVisible();
Text* pTxt1 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu1");
Text* pTxt2 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu2");
Text* pTxt3 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu3");
Text* pTxt4 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu4");
Text* pTxt5 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu5");
Text* pTxt6 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu6");
Text* pTxt7 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu7");
Text* pTxt8 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu8");
Text* pTxt9 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu9");
Text* pTxt10 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu10");
Text* pTxt11 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu11");
Text* pTxt12 = (Text*)m_pControl_fqzs->getChildByName("txt_yazhu12");
Text* pCont = (Text*)m_pControl_fqzs->getChildByName("txt_control_info");
list<tagBetInfoFQZS *>::iterator it;
it = listBetInfoFQZS.begin();
for (; it != listBetInfoFQZS.end(); it++)
{
tagBetInfoFQZS * pData = *it;
if (btnShow1 && pData->roomLevel == 1)
{
pTxt1->setString(StringUtils::format("孔雀:%d", pData->bet1));
pTxt2->setString(StringUtils::format("老鹰:%d", pData->bet2));
pTxt3->setString(StringUtils::format("熊猫:%d", pData->bet3));
pTxt4->setString(StringUtils::format("猴子:%d", pData->bet4));
pTxt5->setString(StringUtils::format("燕子:%d", pData->bet5));
pTxt6->setString(StringUtils::format("鸽子:%d", pData->bet6));
pTxt7->setString(StringUtils::format("兔子:%d", pData->bet7));
pTxt8->setString(StringUtils::format("狮子:%d", pData->bet8));
pTxt9->setString(StringUtils::format("飞禽:%d", pData->bet9));
pTxt10->setString(StringUtils::format("蓝鲨:%d", pData->bet10));
pTxt11->setString(StringUtils::format("走兽:%d", pData->bet11));
if (pData->controlType == AnimalType_FQZS::e_AnimalType_TongChi){
pCont->setString(StringUtils::format("当前控制:通吃,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(true, false, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_TongPei){
pCont->setString(StringUtils::format("当前控制:通赔,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_LanShaYu){
pCont->setString(StringUtils::format("当前控制:蓝鲨,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, true, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_JinShaYu){
pCont->setString(StringUtils::format("当前控制:金鲨,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, false, true, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_TuZi){
pCont->setString(StringUtils::format("当前控制:兔子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, false, false, true, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_HouZi){
pCont->setString(StringUtils::format("当前控制:猴子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_XiongMao){
pCont->setString(StringUtils::format("当前控制:熊猫,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_ShiZi){
pCont->setString(StringUtils::format("当前控制:狮子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_LaoYing){
pCont->setString(StringUtils::format("当前控制:老鹰,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_KongQue){
pCont->setString(StringUtils::format("当前控制:孔雀,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_GeZi){
pCont->setString(StringUtils::format("当前控制:鸽子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_YanZi){
pCont->setString(StringUtils::format("当前控制:燕子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == -1){
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_FQZS(false, false, false, false, false, false, false, false, false, false, false, false);
}
}
if (btnShow2 && pData->roomLevel == 2)
{
pTxt1->setString(StringUtils::format("孔雀:%d", pData->bet1));
pTxt2->setString(StringUtils::format("老鹰:%d", pData->bet2));
pTxt3->setString(StringUtils::format("熊猫:%d", pData->bet3));
pTxt4->setString(StringUtils::format("猴子:%d", pData->bet4));
pTxt5->setString(StringUtils::format("燕子:%d", pData->bet5));
pTxt6->setString(StringUtils::format("鸽子:%d", pData->bet6));
pTxt7->setString(StringUtils::format("兔子:%d", pData->bet7));
pTxt8->setString(StringUtils::format("狮子:%d", pData->bet8));
pTxt9->setString(StringUtils::format("飞禽:%d", pData->bet9));
pTxt10->setString(StringUtils::format("蓝鲨:%d", pData->bet10));
pTxt11->setString(StringUtils::format("走兽:%d", pData->bet11));
if (pData->controlType == AnimalType_FQZS::e_AnimalType_TongChi){
pCont->setString(StringUtils::format("当前控制:通吃,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(true, false, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_TongPei){
pCont->setString(StringUtils::format("当前控制:通赔,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_LanShaYu){
pCont->setString(StringUtils::format("当前控制:蓝鲨,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, true, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_JinShaYu){
pCont->setString(StringUtils::format("当前控制:金鲨,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, false, true, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_TuZi){
pCont->setString(StringUtils::format("当前控制:兔子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, false, false, true, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_HouZi){
pCont->setString(StringUtils::format("当前控制:猴子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_XiongMao){
pCont->setString(StringUtils::format("当前控制:熊猫,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_ShiZi){
pCont->setString(StringUtils::format("当前控制:狮子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_LaoYing){
pCont->setString(StringUtils::format("当前控制:老鹰,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_KongQue){
pCont->setString(StringUtils::format("当前控制:孔雀,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_GeZi){
pCont->setString(StringUtils::format("当前控制:鸽子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_YanZi){
pCont->setString(StringUtils::format("当前控制:燕子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == -1){
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_FQZS(false, false, false, false, false, false, false, false, false, false, false, false);
}
}
if (btnShow3 && pData->roomLevel == 3)
{
pTxt1->setString(StringUtils::format("孔雀:%d", pData->bet1));
pTxt2->setString(StringUtils::format("老鹰:%d", pData->bet2));
pTxt3->setString(StringUtils::format("熊猫:%d", pData->bet3));
pTxt4->setString(StringUtils::format("猴子:%d", pData->bet4));
pTxt5->setString(StringUtils::format("燕子:%d", pData->bet5));
pTxt6->setString(StringUtils::format("鸽子:%d", pData->bet6));
pTxt7->setString(StringUtils::format("兔子:%d", pData->bet7));
pTxt8->setString(StringUtils::format("狮子:%d", pData->bet8));
pTxt9->setString(StringUtils::format("飞禽:%d", pData->bet9));
pTxt10->setString(StringUtils::format("蓝鲨:%d", pData->bet10));
pTxt11->setString(StringUtils::format("走兽:%d", pData->bet11));
if (pData->controlType == AnimalType_FQZS::e_AnimalType_TongChi){
pCont->setString(StringUtils::format("当前控制:通吃,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(true, false, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_TongPei){
pCont->setString(StringUtils::format("当前控制:通赔,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_LanShaYu){
pCont->setString(StringUtils::format("当前控制:蓝鲨,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, true, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_JinShaYu){
pCont->setString(StringUtils::format("当前控制:金鲨,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, false, true, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_TuZi){
pCont->setString(StringUtils::format("当前控制:兔子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, false, false, false, true, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_HouZi){
pCont->setString(StringUtils::format("当前控制:猴子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_XiongMao){
pCont->setString(StringUtils::format("当前控制:熊猫,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_ShiZi){
pCont->setString(StringUtils::format("当前控制:狮子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_LaoYing){
pCont->setString(StringUtils::format("当前控制:老鹰,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_KongQue){
pCont->setString(StringUtils::format("当前控制:孔雀,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_GeZi){
pCont->setString(StringUtils::format("当前控制:鸽子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == AnimalType_FQZS::e_AnimalType_YanZi){
pCont->setString(StringUtils::format("当前控制:燕子,剩余:%d局", pData->controlNum));
ShowColorBtn_FQZS(false, true, false, false, false, false, false, false, false, false, false, false);
}
else if (pData->controlType == -1){
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_FQZS(false, false, false, false, false, false, false, false, false, false, false, false);
}
}
}
}
void Management::SendSubmit_FQZS()
{
CCLOG("fqzs submit btn");
//房间
bool btnShow1 = (m_pControl_fqzs->getChildByName("btn_check1"))->isVisible();
bool btnShow2 = (m_pControl_fqzs->getChildByName("btn_check2"))->isVisible();
bool btnShow3 = (m_pControl_fqzs->getChildByName("btn_check3"))->isVisible();
int roomLevel = 0; //1初级 2中级 3高级
if (btnShow1){
roomLevel = 1;
}
else if (btnShow2){
roomLevel = 2;
}
else if (btnShow3){
roomLevel = 3;
}
Text* pCont = (Text*)m_pControl_fqzs->getChildByName("txt_control_info");
//动物:0金鲨 1兔子 2猴子 3飞禽 4熊猫 5狮子 6蓝鲨 7老鹰 8孔雀 9走兽 10鸽子 11燕子
bool btnColor1 = (m_pControl_fqzs->getChildByName("btn_type0"))->isVisible();
bool btnColor2 = (m_pControl_fqzs->getChildByName("btn_type1"))->isVisible();
bool btnColor3 = (m_pControl_fqzs->getChildByName("btn_type2"))->isVisible();
bool btnColor4 = (m_pControl_fqzs->getChildByName("btn_type3"))->isVisible();
bool btnColor5 = (m_pControl_fqzs->getChildByName("btn_type4"))->isVisible();
bool btnColor6 = (m_pControl_fqzs->getChildByName("btn_type5"))->isVisible();
bool btnColor7 = (m_pControl_fqzs->getChildByName("btn_type6"))->isVisible();
bool btnColor8 = (m_pControl_fqzs->getChildByName("btn_type7"))->isVisible();
bool btnColor9 = (m_pControl_fqzs->getChildByName("btn_type8"))->isVisible();
bool btnColor10 = (m_pControl_fqzs->getChildByName("btn_type9"))->isVisible();
bool btnColor11 = (m_pControl_fqzs->getChildByName("btn_type10"))->isVisible();
bool btnColor12 = (m_pControl_fqzs->getChildByName("btn_type11"))->isVisible();
int controlNum = 0; //控制局数
int controlType = -1; //控制类型:0金鲨 1兔子 2猴子 3飞禽 4熊猫 5狮子 6蓝鲨 7老鹰 8孔雀 9走兽 10鸽子 11燕子
if (btnColor1){
controlType = AnimalType_FQZS::e_AnimalType_JinShaYu;
controlNum = atoi(fqzsJSNum.c_str());
pCont->setString(StringUtils::format("当前控制:金鲨,剩余:%d局", controlNum));
}
else if (btnColor2){
controlType = AnimalType_FQZS::e_AnimalType_TuZi;
controlNum = atoi(fqzsTZNum.c_str());
pCont->setString(StringUtils::format("当前控制:兔子,剩余:%d局", controlNum));
}
else if (btnColor3){
controlType = AnimalType_FQZS::e_AnimalType_HouZi;
controlNum = atoi(fqzsHZNum.c_str());
pCont->setString(StringUtils::format("当前控制:猴子,剩余:%d局", controlNum));
}
else if (btnColor4){
controlType = AnimalType_FQZS::e_AnimalType_TongChi;
controlNum = atoi(fqzsTCNum.c_str());
pCont->setString(StringUtils::format("当前控制:通吃,剩余:%d局", controlNum));
}
else if (btnColor5){
controlType = AnimalType_FQZS::e_AnimalType_XiongMao;
controlNum = atoi(fqzsXMNum.c_str());
pCont->setString(StringUtils::format("当前控制:熊猫,剩余:%d局", controlNum));
}
else if (btnColor6){
controlType = AnimalType_FQZS::e_AnimalType_ShiZi;
controlNum = atoi(fqzsSZNum.c_str());
pCont->setString(StringUtils::format("当前控制:狮子,剩余:%d局", controlNum));
}
else if (btnColor7){
controlType = AnimalType_FQZS::e_AnimalType_LanShaYu;
controlNum = atoi(fqzsLSNum.c_str());
pCont->setString(StringUtils::format("当前控制:蓝鲨,剩余:%d局", controlNum));
}
else if (btnColor8){
controlType = AnimalType_FQZS::e_AnimalType_LaoYing;
controlNum = atoi(fqzsLYNum.c_str());
pCont->setString(StringUtils::format("当前控制:老鹰,剩余:%d局", controlNum));
}
else if (btnColor9){
controlType = AnimalType_FQZS::e_AnimalType_KongQue;
controlNum = atoi(fqzsKQNum.c_str());
pCont->setString(StringUtils::format("当前控制:孔雀,剩余:%d局", controlNum));
}
else if (btnColor10){
controlType = AnimalType_FQZS::e_AnimalType_TongPei;
controlNum = atoi(fqzsTPNum.c_str());
pCont->setString(StringUtils::format("当前控制:通赔,剩余:%d局", controlNum));
}
else if (btnColor11){
controlType = AnimalType_FQZS::e_AnimalType_GeZi;
controlNum = atoi(fqzsGZNum.c_str());
pCont->setString(StringUtils::format("当前控制:鸽子,剩余:%d局", controlNum));
}
else if (btnColor12){
controlType = AnimalType_FQZS::e_AnimalType_YanZi;
controlNum = atoi(fqzsYZNum.c_str());
pCont->setString(StringUtils::format("当前控制:燕子,剩余:%d局", controlNum));
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_SetGameResult_FQZS_management(%d,%d,%d,%d)", 1, roomLevel, controlType, controlNum);
CCLOG("call proc fqzs submit:%s", proc);
exeSQL(proc, callType::proc_submit_bet_fqzs);
}
void Management::SendCancel_FQZS()
{
CCLOG("fqzs cancel btn");
//房间
bool btnShow1 = (m_pControl_fqzs->getChildByName("btn_check1"))->isVisible();
bool btnShow2 = (m_pControl_fqzs->getChildByName("btn_check2"))->isVisible();
bool btnShow3 = (m_pControl_fqzs->getChildByName("btn_check3"))->isVisible();
int roomLevel = 0; //1初级 2中级 3高级
if (btnShow1){
roomLevel = 1;
}
else if (btnShow2){
roomLevel = 2;
}
else if (btnShow3){
roomLevel = 3;
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_SetGameResult_FQZS_management(%d,%d,%d,%d)", 1, roomLevel, -1, 0);
CCLOG("call proc fqzs cancel:%s", proc);
exeSQL(proc, callType::proc_cancel_bet_fqzs);
Text* pCont = (Text*)m_pControl_fqzs->getChildByName("txt_control_info");
pCont->setString("当前控制:--,剩余:--局");
ShowColorBtn_FQZS(false, false, false, false, false, false, false, false, false, false, false, false);
HideBtn_FQZS();
}
//////向DB发现操作请求//////////////////////////////////////////////////////////////
//查询充值详情(userId)
void Management::QueryCZXQReq()
{
CCLOG("Query CZXQ Req");
//验证是否输入userId
Text* pTxt = (Text*)m_pChongZhiXiangQing->getChildByName("txt_info");
if (m_userId.length() == 0)
{
pTxt->setVisible(true);
return;
}
else{
pTxt->setVisible(false);
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryUserRechargeCoinsRecord_management('%s')", m_userId.c_str());
exeSQL(proc, callType::proc_czxq);
}
//查询转账记录(userId)
void Management::QueryZZJLReq()
{
CCLOG("Query ZZJL Req");
//验证是否输入userId
Text* pTxt = (Text*)m_pZhuanZhangJiLu->getChildByName("txt_info");
if (m_userId.length() == 0)
{
pTxt->setVisible(true);
return;
}
else{
pTxt->setVisible(false);
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryUserZengSongCoinsRecord_management('%s')", m_userId.c_str());
exeSQL(proc, callType::proc_zzjl);
}
//玩家查询
void Management::QueryWJCXReq()
{
CCLOG("Query WJCX Req");
//验证是否输入userId
Text* pTxt = (Text*)m_pWanJiaChaXun->getChildByName("txt_info");
if (m_userId.length() == 0)
{
pTxt->setVisible(true);
return;
}
else{
pTxt->setVisible(false);
}
//执行存储过程
char proc[1024] = { 0 };
sprintf(proc, "call proc_QueryUserInfo_management('%s')", m_userId.c_str());
exeSQL(proc, callType::proc_wjcx);
}
//冻结解冻--type:1冻结 2解冻
void Management::DJJDReq(int type)
{
CCLOG("DJJD Req:%d", type);
}
//信息修改
void Management::XinXi_XGReq()
{
CCLOG("XXXG Req");
}
//交易撤回
void Management::JiaoYi_CHReq()
{
CCLOG("JiaoYi_CH Req");
}
////////////////////////////////////////////////////////////////////
void Management::test_data()
{
//listUserList.clear();
//tagUserList* pData = new tagUserList();
//pData->userId = 10000;
//strcpy(pData->nickName, "wxhh");
//pData->userGold = 120;
//listUserList.push_back(pData);
//pData->userId = 10001;
//strcpy(pData->nickName, "21dian");
//pData->userGold = 150;
//listUserList.push_back(pData);
//pData->userId = 10001;
//strcpy(pData->nickName, "wqzs");
//pData->userGold = 160;
//listUserList.push_back(pData);
}
bool Management::initDB()
{
m_host = "127.0.0.1";
m_user = "root";
m_passwd = "123456";
m_dbName = "db_babykylin";
m_port = 3306;
#ifdef Test_db
m_host = "192.168.124.14";
m_user = "root";
m_passwd = "root123";
m_dbName = "MaJiang_DB";
#endif
mysql = mysql_init(NULL);
if (!mysql) {
CCLOG("--mysql init fails--");
return false;
}
char *query = NULL;
int rt;//return value
if (mysql != NULL && mysql_real_connect(mysql, m_host.c_str(), m_user.c_str(), m_passwd.c_str(), m_dbName.c_str(), m_port, NULL, 0)) {
if (!mysql_select_db(mysql, m_dbName.c_str())) {
CCLOG("--Select successfully the database--");
mysql->reconnect = 1;
query = "set names \'GBK\'";
rt = mysql_real_query(mysql, query, strlen(query));
if (rt) {
CCLOG("--Error making query: %s", mysql_error(mysql));
}
else {
CCLOG("--query succeed--%s", query);
}
}
}
else {
CCLOG("Unable to connect the database,check your configuration!");
}
return true;
}
bool Management::exeSQL(string inSQL, int cType)
{
initDB();
int rt;//return value
unsigned int t;
string outSQL;
//mysql_query()执行成功返回0,执行失败返回非0值。
rt = mysql_real_query(mysql, inSQL.c_str(), inSQL.length());
mysql_query(mysql, outSQL.c_str());
if (rt)
{
CCLOG("Query Error: %s", mysql_error(mysql));
return false;
}
else
{
CCLOG("[%s] executed!!!\n", inSQL.c_str());
}
result = mysql_store_result(mysql);//将结果保存在res结构体中
if (result) {
//获取结果集中总共的字段数,即列数
getProcValue(cType);
//while (row = mysql_fetch_row(result))
//{
// string tmp = row[0];
// for (t = 0; t < mysql_num_fields(result); t++)
// {
// MYSQL_FIELD* pField = mysql_fetch_field(result);
// if (strcmp(pField->name,"ErrCode")==0)
// {
// int iCode = atoi(row[t]);
// int iEnd = 0;
// }
// printf("%s ", row[t]);
// }
// printf("---------------------------");
//}
}
else {
//代表执行的是update,insert,delete类的非查询语句
if (mysql_field_count(mysql) == 0) {
// 返回update,insert,delete影响的行数
unsigned long long num_rows = mysql_affected_rows(mysql);
return num_rows;
}
else {
CCLOG("Get result error: ", mysql_error(mysql));
return false;
}
}
return true;
}
bool Management::getProcValue(int cType)
{
switch (cType)
{
case callType::proc_Logon://管理员登录
{
int iCode = -1;
while (row = mysql_fetch_row(result))
{
string tmp = row[0];
for (unsigned int t = 0; t < mysql_num_fields(result); t++)
{
MYSQL_FIELD* pField = mysql_fetch_field(result);
if (strcmp(pField->name, "ErrCode") == 0)
{
iCode = atoi(row[t]);
}
}
}
tagDBReturnRes res;
res.resCode = iCode;
onEventDataBase(&res, cType);
}break;
case callType::proc_czjl://充值记录
{
listChongzhiJilu.clear();
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
tagChongzhiJilu* pData = new tagChongzhiJilu();
for (unsigned int t = 0; t < _num; t++)
{
pData->userId = atoi(row[0]);
strcpy(pData->nickName, row[1]);
pData->payCount = atoi(row[2]);
pData->payRMB = atoi(row[3]);
/* string _tmp = row[t];
MYSQL_FIELD* pField = mysql_fetch_field(result);
if (pField == NULL)
continue;
if (strcmp(pField->name, "id") == 0)
{
pData->userId = atoi(row[t]);
}
else if (strcmp(pField->name, "name") == 0)
{
strcpy(pData->nickName, row[t]);
}
else if (strcmp(pField->name, "rechargeCoinsTimes") == 0)
{
pData->payCount = atoi(row[t]);
}
else if (strcmp(pField->name, "rechargeTotalCoins") == 0)
{
pData->payRMB = atoi(row[t]);
}*/
}
listChongzhiJilu.push_back(pData);
}
if (_num > 0)
ChongZhiJiLu();
}break;
case callType::proc_czxq://充值详情
{
listChongzhiXiangqing.clear();
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
tagChongzhiXiangqing* pData = new tagChongzhiXiangqing();
for (unsigned int t = 0; t < _num; t++)
{
pData->userId = atoi(row[0]);
strcpy(pData->nickName, row[1]);
pData->payRMB = atoi(row[2]);
strcpy(pData->orderNum, row[3]);
strcpy(pData->payTime, row[4]);
}
listChongzhiXiangqing.push_back(pData);
}
if (_num > 0)
ShowChongZhiXiangQing();
}break;
case callType::proc_zzjl://转账记录
{
listZhuanzhangJilu.clear();
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
tagZhuanzhangJilu* pData = new tagZhuanzhangJilu();
for (unsigned int t = 0; t < _num; t++)
{
pData->userId_Out = atoi(row[0]);
strcpy(pData->nickName_Out, row[1]);
pData->userId_In = atoi(row[2]);
strcpy(pData->nickName_In, row[3]);
pData->zzGoldNum = atoi(row[4]);
strcpy(pData->zzTime, row[5]);
pData->zzShuiShou = atoi(row[6]);
pData->zzState = atoi(row[7]);
}
listZhuanzhangJilu.push_back(pData);
}
if (_num > 0)
ShowZhuanZhangJiLu();
}break;
case callType::proc_wjcx: //玩家查询
{
tagUserInfo res;
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
for (unsigned int t = 0; t < _num; t++)
{
res.userId = atoi(row[0]);
strcpy(res.nickName, row[1]);
res.sPort = atoi(row[2]);
res.userGolds = atoi(row[3]);
res.bankGolds = atoi(row[4]);
res.rechargeCoinsTimes = atoi(row[5]);
res.rechargeTotalCoins = atoi(row[6]);
res.historyCoinsRecord = atoi(row[7]);
}
}
if (_num > 0)
onEventDataBase(&res, cType);
} break;
case callType::proc_wjlb: //玩家列表
{
listUserList.clear();
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
tagUserInfo* pData = new tagUserInfo();
for (unsigned int t = 0; t < _num; t++)
{
pData->userId = atoi(row[0]);
strcpy(pData->nickName, row[1]);
pData->sPort = atoi(row[2]);
pData->userGolds = atoi(row[3]);
pData->bankGolds = atoi(row[4]);
pData->rechargeCoinsTimes = atoi(row[5]);
pData->rechargeTotalCoins = atoi(row[6]);
pData->historyCoinsRecord = atoi(row[7]);
}
listUserList.push_back(pData);
}
if (_num > 0){
ShowWanJiaLieBiao();
}
} break;
case callType::proc_query_bet_wxhh: //查询五星宏辉押注信息
{
listBetInfoWXHH.clear();
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
tagBetInfoWXHH* pData = new tagBetInfoWXHH();
for (unsigned int t = 0; t < _num; t++)
{
pData->roomId = atoi(row[0]);
pData->roomLevel = atoi(row[1]);
pData->bet1 = atoi(row[2]);
pData->bet2 = atoi(row[3]);
pData->bet3 = atoi(row[4]);
pData->bet4 = atoi(row[5]);
pData->bet5 = atoi(row[6]);
pData->controlType = atoi(row[7]);
pData->controlNum = atoi(row[8]);
}
listBetInfoWXHH.push_back(pData);
}
if (_num > 0){
FlushBetInfoWXHH();
}
} break;
case callType::proc_submit_bet_wxhh: //五星宏辉
{
} break;
case callType::proc_cancel_bet_wxhh: //五星宏辉
{
} break;
case callType::proc_query_bet_fqzs: //查询飞禽走兽押注信息
{
listBetInfoFQZS.clear();
int _num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
tagBetInfoFQZS* pData = new tagBetInfoFQZS();
for (unsigned int t = 0; t < _num; t++)
{
pData->roomId = atoi(row[0]);
pData->roomLevel = atoi(row[1]);
pData->bet1 = atoi(row[2]);
pData->bet2 = atoi(row[3]);
pData->bet3 = atoi(row[4]);
pData->bet4 = atoi(row[5]);
pData->bet5 = atoi(row[6]);
pData->bet6 = atoi(row[7]);
pData->bet7 = atoi(row[8]);
pData->bet8 = atoi(row[9]);
pData->bet9 = atoi(row[10]);
pData->bet10 = atoi(row[11]);
pData->bet11 = atoi(row[12]);
pData->controlType = atoi(row[13]);
pData->controlNum = atoi(row[14]);
}
listBetInfoFQZS.push_back(pData);
}
if (_num > 0){
FlushBetInfoFQZS();
}
} break;
case callType::proc_submit_bet_fqzs: //飞禽走兽
{
} break;
case callType::proc_cancel_bet_fqzs: //飞禽走兽
{
} break;
case callType::proc_zxrs://在线人数
{
int totalOnline = -1;
int online_wxhh = -1;
int online_21dian = -1;
int online_fqzs = -1;
while (row = mysql_fetch_row(result))
{
for (unsigned int t = 0; t < mysql_num_fields(result); t++)
{
MYSQL_FIELD* pField = mysql_fetch_field(result);
if (strcmp(pField->name, "totalOnline") == 0)
{
totalOnline = atoi(row[t]);
}
if (strcmp(pField->name, "online_wxhh") == 0)
{
online_wxhh = atoi(row[t]);
}
if (strcmp(pField->name, "online_21dian") == 0)
{
online_21dian = atoi(row[t]);
}
if (strcmp(pField->name, "online_fqzs") == 0)
{
online_fqzs = atoi(row[t]);
}
}
}
tagZaiXianTongJi res;
res.totalOnline = totalOnline;
res.online_wxhh = online_wxhh;
res.online_21dian = online_21dian;
res.online_fqzs = online_fqzs;
onEventDataBase(&res, cType);
} break;
default:
break;
}
return true;
}
#ifndef GAME_DATA_H
#define GAME_DATA_H
///////////////////////////////////////////////////////////////////////
#define Test_db 0
//数据库执行存储过程类型
typedef enum
{
proc_Begin = 100,
proc_Logon, //管理员登录
proc_wjlb, //玩家列表
proc_czjl, //充值记录
proc_czxq, //充值详情
proc_zzjl, //转账记录
proc_zxrs, //在线人数
proc_wjcx, //玩家查询
proc_query_bet_wxhh, //查询五星宏辉下注信息
proc_submit_bet_wxhh, //五星宏辉下注信息
proc_cancel_bet_wxhh, //五星宏辉下注信息
proc_query_bet_fqzs, //查询飞禽走兽下注信息
proc_submit_bet_fqzs, //飞禽走兽下注信息
proc_cancel_bet_fqzs, //飞禽走兽下注信息
}callType;
///////////////////////////////////////////////////////////////////////////
//UI按钮响应类型
typedef enum
{
TAG_Begin = 1000,
TAG_LogonBtn,
TAG_ExitBtn,
TAG_lUserListBtn, //玩家列表
TAG_lPayRecordBtn, //充值记录
TAG_lTranRecordBtn, //转账记录
TAG_lUserQueryBtn, //玩家查询
TAG_lZaiXianTJiBtn, //在线统计
TAG_lPayDetailsBtn, //充值详情
TAG_lDJJDBtn, //冻结解冻
TAG_lXXXiuGaiBtn, //信息修改
TAG_lJiaoYiCHBtn, //交易撤回
TAG_lControlSYBtn, //控制输赢
TAG_lRobotSetBtn, //机器人设置
TAG_lWXHHBtn, //五星宏辉
TAG_lESYDBtn, //21点
TAG_lFQZSBtn, //飞禽走兽
TAG_rCZQXBtn, //充值详情查询
TAG_rZZJLBtn, //转账记录查询
TAG_rWJCXBtn, //玩家详情查询
TAG_rZHDJBtn, //账号冻结
TAG_rZHJDBtn, //账号解冻
TAG_rXinXiXGBtn, //信息修改
TAG_rJiaoYiCHBtn, //交易撤回
TAG_wxhhRoom1, //wxhh初级
TAG_wxhhRoom2, //wxhh中级
TAG_wxhhRoom3, //wxhh高级
TAG_wxhhRoomFlush, //wxhh刷新
TAG_wxhhHeiBtn, //wxhh黑桃
TAG_wxhhHongBtn, //wxhh红桃
TAG_wxhhMeiBtn, //wxhh梅花
TAG_wxhhFangBtn, //wxhh方块
TAG_wxhhWangBtn, //wxhh王
TAG_wxhhSubmitBtn, //wxhh确定
TAG_wxhhCancelBtn, //wxhh取消
TAG_esydWinBtn, //21d赢
TAG_esydLostBtn, //21d输
TAG_esydSubmitBtn, //21d确定
TAG_fqzsRoom1, //fqzs初级
TAG_fqzsRoom2, //fqzs中级
TAG_fqzsRoom3, //fqzs高级
TAG_fqzsRoomFlush, //fqzs刷新
TAG_fqzsJSBtn, //fqzs金鲨
TAG_fqzsTZBtn, //fqzs兔子
TAG_fqzsHZBtn, //fqzs猴子
TAG_fqzsTCBtn, //fqzs通吃--飞禽
TAG_fqzsXMBtn, //fqzs熊猫
TAG_fqzsSZBtn, //fqzs狮子
TAG_fqzsLSBtn, //fqzs蓝鲨
TAG_fqzsLYBtn, //fqzs老鹰
TAG_fqzsKQBtn, //fqzs孔雀
TAG_fqzsTPBtn, //fqzs通赔--走兽
TAG_fqzsGZBtn, //fqzs鸽子
TAG_fqzsYZBtn, //fqzs燕子
TAG_fqzsSubmitBtn, //fqzs确定
TAG_fqzsCancelBtn, //fqzs取消
}reqTag;
///////////////////////////////////////////////////////////////////////////
//在线统计
struct tagZaiXianTongJi{
int totalOnline; //在线人数
int online_wxhh;
int online_21dian;
int online_fqzs;
};
//玩家列表
struct tagUserList{
int userId; //id
char nickName[50]; //昵称
bool isOnline; //是否在线
int roomNo; //房间号
int userGold; //携带金币
int bankGold; //银行金币
int onlineTime_Sum; //累计在线时长
int onlineTime_SZ; //过去一周在线时长
int onlineTime_LD; //过去24小时在线时长
int paySumCount; //累计充值次数
int paySumRMB; //累计充值金额
int winlostGold_SY; //上月累计输赢金币数量
int winlostGold_SZ; //上周累计输赢金币数量
int winlostGold_SD; //24小时累计输赢金币数量
};
//充值记录
struct tagChongzhiJilu{
int userId; //id
char nickName[50]; //昵称
int payCount; //充值次数
int payRMB; //充值金额
};
//充值详情
struct tagChongzhiXiangqing{
int userId; //id
char nickName[50]; //昵称
char orderNum[50]; //订单号
int payRMB; //充值金额
char payTime[50]; //充值时间
short payType; //充值方式(1支付宝,2微信,3银联)
};
//转账记录
struct tagZhuanzhangJilu{
int userId_Out; //转出人id
char nickName_Out[50]; //转出人昵称
int userId_In; //接收人id
char nickName_In[50]; //接收人昵称
int zzGoldNum; //转账金额
char zzTime[50]; //转账时间
int zzShuiShou; //转账税
int zzState; //状态
};
//玩家信息
struct tagUserInfo{
int userId;
char nickName[50];
int sPort;
int userGolds;
int bankGolds;
int rechargeCoinsTimes;
int rechargeTotalCoins;
int historyCoinsRecord;
};
//五星宏辉押注信息
struct tagBetInfoWXHH{
int roomId; //
int roomLevel; //1初级 2中级 3高级
int bet1; //黑
int bet2; //红
int bet3; //梅
int bet4; //方
int bet5; //王
int controlType; //控制类型:0黑 1红 2梅 3方 4王
int controlNum; //控制局数
};
//五星宏辉控制信息
struct tagControlWXHH{
int roomId; //
int roomLevel; //1初级 2中级 3高级
int controlType; //控制类型:0黑 1红 2梅 3方 4王
int controlNum; //控制局数
};
//飞禽走兽押注信息
struct tagBetInfoFQZS{
int roomId; //
int roomLevel; //1初级 2中级 3高级
int bet1; //孔雀
int bet2; //老鹰
int bet3; //熊猫
int bet4; //猴子
int bet5; //燕子
int bet6; //鸽子
int bet7; //兔子
int bet8; //狮子
int bet9; //飞禽
int bet10; //蓝鲨
int bet11; //走兽
int controlType; //控制类型:0通吃 1通赔 2蓝鲨 3金鲨 4兔子 5猴子 6熊猫 7狮子 8老鹰 9孔雀 10鸽子 11燕子
int controlNum; //控制局数
};
//飞禽走兽控制信息
struct tagControlFQZS{
int roomId; //
int roomLevel; //1初级 2中级 3高级
int controlType; //控制类型:0通吃 1通赔 2蓝鲨 3金鲨 4兔子 5猴子 6熊猫 7狮子 8老鹰 9孔雀 10鸽子 11燕子
int controlNum; //控制局数
};
//控制动物枚举
enum AnimalType_FQZS
{
e_AnimalType_TongChi,
e_AnimalType_TongPei,
e_AnimalType_LanShaYu,
e_AnimalType_JinShaYu,
e_AnimalType_TuZi,
e_AnimalType_HouZi,
e_AnimalType_XiongMao,
e_AnimalType_ShiZi,
e_AnimalType_LaoYing,
e_AnimalType_KongQue,
e_AnimalType_GeZi,
e_AnimalType_YanZi,
};
//db返回结果
struct tagDBReturnRes{
int resCode;
};
////////////////////////////////////////////////////////////////////////////////
#endif //GAME_DATA_H
调用存储过程完成
管理员登录
call proc_ManagementLogin_management('bqw','bqw123')
ErrCode 0,账号正确 -1,账号错误
CREATE DEFINER=`root`@`%` PROCEDURE `proc_ManagementLogin_management`(account_p varchar(50),pwd_p varchar(50))
BEGIN
if(account_p='bqw' and pwd_p='bqw123')
then
select 0 as ErrCode;
else
select -1 as ErrCode;
end if;
END
-----------------------------------------------------------------------------
call proc_QueryOnlineNumInfo_management()
查询游戏在线人数
CREATE DEFINER=`root`@`%` PROCEDURE `proc_QueryOnlineNumInfo_management`()
BEGIN
select * from tb_GameOnlineNumInfo;
END
-----------------------------------------------------------------------------
充值记录
call proc_QueryUserRechargeCoinsTotal_management()
CREATE DEFINER=`root`@`%` PROCEDURE `proc_QueryUserRechargeCoinsTotal_management`()
BEGIN
select id,name,rechargeCoinsTimes,rechargeTotalCoins from tb_User;
END
-----------------------------------------------------------------------------
充值记录_详情
call proc_QueryUserRechargeCoinsRecord_management(id)
CREATE DEFINER=`root`@`%` PROCEDURE `proc_QueryUserRechargeCoinsRecord_management`(playerId_p bigint)
BEGIN
select * from tb_RechargeCoinsRecord where id=playerId_p;
END
-----------------------------------------------------------------------------
转账记录
call proc_QueryUserZengSongCoinsRecord_management(id)
CREATE DEFINER=`root`@`%` PROCEDURE `proc_QueryUserZengSongCoinsRecord_management`(playerId_p bigint)
BEGIN
select * from tb_ZengSongCoinsRecord where id=playerId_p;
END
其他帖子的一个例子,看着比较好,贴过来方便查询:
#include <stdio.h>
#include <WinSock.h> //一定要包含这个,或者winsock2.h
#include "include/mysql.h" //引入mysql头文件(一种方式是在vc目录里面设置,一种是文件夹拷到工程目录,然后这样包含)
#include <Windows.h>
//包含附加依赖项,也可以在工程--属性里面设置
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libmysql.lib")
MYSQL mysql; //mysql连接
MYSQL_FIELD *fd; //字段列数组
char field[32][32]; //存字段名二维数组
MYSQL_RES *res; //这个结构代表返回行的一个查询结果集
MYSQL_ROW column; //一个行数据的类型安全(type-safe)的表示,表示数据行的列
char query[150]; //查询语句
bool ConnectDatabase(); //函数声明
void FreeConnect();
bool QueryDatabase1(); //查询1
bool QueryDatabase2(); //查询2
bool InsertData();
bool ModifyData();
bool DeleteData();
int main(int argc,char **argv)
{
ConnectDatabase();
QueryDatabase1();
InsertData();
QueryDatabase2();
ModifyData();
QueryDatabase2();
DeleteData();
QueryDatabase2();
FreeConnect();
system("pause");
return 0;
}
//连接数据库
bool ConnectDatabase()
{
//初始化mysql
mysql_init(&mysql); //连接mysql,数据库
//返回false则连接失败,返回true则连接成功
if (!(mysql_real_connect(&mysql,"localhost", "root", "", "test",0,NULL,0))) //中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去
{
printf( "Error connecting to database:%s\n",mysql_error(&mysql));
return false;
}
else
{
printf("Connected...\n");
return true;
}
}
//释放资源
void FreeConnect()
{
//释放资源
mysql_free_result(res);
mysql_close(&mysql);
}
/***************************数据库操作***********************************/
//其实所有的数据库操作都是先写个sql语句,然后用mysql_query(&mysql,query)来完成,包括创建数据库或表,增删改查
//查询数据
bool QueryDatabase1()
{
sprintf(query, "select * from user"); //执行查询语句,这里是查询所有,user是表名,不用加引号,用strcpy也可以
mysql_query(&mysql,"set names gbk"); //设置编码格式(SET NAMES GBK也行),否则cmd下中文乱码
//返回0 查询成功,返回1查询失败
if(mysql_query(&mysql, query)) //执行SQL语句
{
printf("Query failed (%s)\n",mysql_error(&mysql));
return false;
}
else
{
printf("query success\n");
}
//获取结果集
if (!(res=mysql_store_result(&mysql))) //获得sql语句结束后返回的结果集
{
printf("Couldn't get result from %s\n", mysql_error(&mysql));
return false;
}
//打印数据行数
printf("number of dataline returned: %d\n",mysql_affected_rows(&mysql));
//获取字段的信息
char *str_field[32]; //定义一个字符串数组存储字段信息
for(int i=0;i<4;i++) //在已知字段数量的情况下获取字段名
{
str_field[i]=mysql_fetch_field(res)->name;
}
for(int i=0;i<4;i++) //打印字段
printf("%10s\t",str_field[i]);
printf("\n");
//打印获取的数据
while (column = mysql_fetch_row(res)) //在已知字段数量情况下,获取并打印下一行
{
printf("%10s\t%10s\t%10s\t%10s\n", column[0], column[1], column[2],column[3]); //column是列数组
}
return true;
}
bool QueryDatabase2()
{
mysql_query(&mysql,"set names gbk");
//返回0 查询成功,返回1查询失败
if(mysql_query(&mysql, "select * from user")) //执行SQL语句
{
printf("Query failed (%s)\n",mysql_error(&mysql));
return false;
}
else
{
printf("query success\n");
}
res=mysql_store_result(&mysql);
//打印数据行数
printf("number of dataline returned: %d\n",mysql_affected_rows(&mysql));
for(int i=0;fd=mysql_fetch_field(res);i++) //获取字段名
strcpy(field[i],fd->name);
int j=mysql_num_fields(res); // 获取列数
for(int i=0;i<j;i++) //打印字段
printf("%10s\t",field[i]);
printf("\n");
while(column=mysql_fetch_row(res))
{
for(int i=0;i<j;i++)
printf("%10s\t",column[i]);
printf("\n");
}
return true;
}
//插入数据
bool InsertData()
{
sprintf(query, "insert into user values (NULL, 'Lilei', 'wyt2588zs','[email protected]');"); //可以想办法实现手动在控制台手动输入指令
if(mysql_query(&mysql, query)) //执行SQL语句
{
printf("Query failed (%s)\n",mysql_error(&mysql));
return false;
}
else
{
printf("Insert success\n");
return true;
}
}
//修改数据
bool ModifyData()
{
sprintf(query, "update user set email='[email protected]' where name='Lilei'");
if(mysql_query(&mysql, query)) //执行SQL语句
{
printf("Query failed (%s)\n",mysql_error(&mysql));
return false;
}
else
{
printf("Insert success\n");
return true;
}
}
//删除数据
bool DeleteData()
{
/*sprintf(query, "delete from user where id=6");*/
char query[100];
printf("please input the sql:\n");
gets(query); //这里手动输入sql语句
if(mysql_query(&mysql, query)) //执行SQL语句
{
printf("Query failed (%s)\n",mysql_error(&mysql));
return false;
}
else
{
printf("Insert success\n");
return true;
}
}