cocos2dx集成MySQL调用存储过程来实现管理后台(通过API函数来调用)

使用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;
    }
}
发布了265 篇原创文章 · 获赞 20 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/ccnu027cs/article/details/103593460