From 60feedf43a35a9ca69d05095a01c5d1797b1bdc3 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 09 九月 2022 18:47:14 +0800
Subject: [PATCH] '完善'

---
 app/appDlg.cpp |  190 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 157 insertions(+), 33 deletions(-)

diff --git a/app/appDlg.cpp b/app/appDlg.cpp
index 9d7ce9e..6d1b406 100644
--- a/app/appDlg.cpp
+++ b/app/appDlg.cpp
@@ -72,6 +72,8 @@
 // CappDlg 瀵硅瘽妗�
 
 RecognitionManager* CappDlg::recognitionManager;
+RecognitionManager* CappDlg::recognitionManager_L2Code;
+
 set<Authority> CappDlg::authoritySet;
 //瀹㈡埛绔紪鍙�
 int CappDlg::clientNum;
@@ -98,6 +100,8 @@
 
 	capture = new  L2DataCapture();
 	recognitionManager = new RecognitionManager();
+	recognitionManager_L2Code = new RecognitionManager();
+
 	limitUpCapture = new LimitUpCapture();
 	tradeListCapture = new TradeListCapture();
 	industryCapture = new IndustryCapture();
@@ -122,6 +126,10 @@
 	DDX_Control(pDX, IDC_CHECK6, autoL2Check);
 	DDX_Control(pDX, IDC_CURRENT_PRICE, currentPriceBtn);
 	DDX_Control(pDX, IDC_STATIC_AUTO_MSG, autoMsgStatic);
+	DDX_Control(pDX, IDC_CHECK_PRICE_TIME_LIMIT, priceTimeLimitCheck);
+	DDX_Control(pDX, IDC_CHECK_TRADE_TIME_TRADE_SUCCESS, tradeSuccessTimeCheck);
+	DDX_Control(pDX, IDC_CHECK_TRADE_TIME_DELEGATE, delegateTimeCheck);
+	DDX_Control(pDX, IDC_CHECK_TRADE_TIME_LIMIT_UP, limitUpTimeCheck);
 }
 
 BEGIN_MESSAGE_MAP(CappDlg, CDialogEx)
@@ -147,6 +155,11 @@
 	ON_BN_CLICKED(IDC_LOGOUT_BTN, &CappDlg::OnBnClickedLogoutBtn)
 	ON_BN_CLICKED(IDC_CHECK6, &CappDlg::OnBnClickedCheck6)
 	ON_BN_CLICKED(IDC_CURRENT_PRICE, &CappDlg::OnBnClickedCurrentPrice)
+	ON_BN_CLICKED(IDC_BUTTON_THS, &CappDlg::OnBnClickedButtonThs)
+	ON_BN_CLICKED(IDC_CHECK_TRADE_TIME_LIMIT_UP, &CappDlg::OnBnClickedCheckTradeTimeLimitUp)
+	ON_BN_CLICKED(IDC_CHECK_TRADE_TIME_TRADE_SUCCESS, &CappDlg::OnBnClickedCheckTradeTimeTradeSuccess)
+	ON_BN_CLICKED(IDC_CHECK_TRADE_TIME_DELEGATE, &CappDlg::OnBnClickedCheckTradeTimeDelegate)
+	ON_BN_CLICKED(IDC_CHECK_PRICE_TIME_LIMIT, &CappDlg::OnBnClickedCheckPriceTimeLimit)
 END_MESSAGE_MAP()
 
 
@@ -188,6 +201,14 @@
 	((CButton*)GetDlgItem(IDC_CHECK4))->SetCheck(TRUE);
 	tradeTimeCaptureCheck.SetCheck(TRUE);
 	L2DataCapture::setTradeTimeCapture(true);
+
+	limitUpTimeCheck.SetCheck(TRUE);
+	tradeSuccessTimeCheck.SetCheck(TRUE);
+	delegateTimeCheck.SetCheck(TRUE);
+	priceTimeLimitCheck.SetCheck(TRUE);
+
+
+
 
 
 
@@ -524,12 +545,14 @@
 
 			//鏆傚仠閲囬泦
 			app->capture->stop(index);
+			//鏆傚仠娑ㄥ仠璇嗗埆
+			LimitUpCapture::pause = TRUE;
 
 			bool result = THSActionUtil::setGP(quickCode, codeList, recognitionManager);
 			if (!result) {
 				throw string("璁剧疆鐗堝潡鐩戞帶鐨凣P澶辫触");
 			}
-			//鍒锋柊鍙ユ焺
+			//鍒锋柊L2鏁版嵁
 			THSActionUtil::setListenL2GP(index, code, recognitionManager);
 			//鎵撳紑Level2鐩戞帶灞忓箷
 			THSActionUtil::openL2Screen();
@@ -540,6 +563,7 @@
 				string value = (*ele).second;
 				app->capture->setGPCode(key, value);
 			}
+			Sleep(500);
 		}
 		catch (string e) {
 			throw e;
@@ -550,6 +574,8 @@
 
 		//鎭㈠閲囬泦
 		app->capture->start(index);
+		//鎭㈠娑ㄥ仠璇嗗埆
+		LimitUpCapture::pause = FALSE;
 	}
 	else if (action == "repairL2Data") {
 		//淇浠g爜涓嶭2琛屾儏浠g爜涓嶅搴� 鎴栬�� L2琛屾儏鏃犳暟鎹殑鎯呭喌
@@ -565,10 +591,11 @@
 			double max_price = root["data"]["max_price"].asDouble();
 			cout << index << ":" << code << ":" << min_price << ":" << max_price << endl;
 			app->thsL2RepairTool->repairL2Data(recognitionManager, index, code, min_price, max_price);
-		}catch (string st) {
+		}
+		catch (string st) {
 			throw st;
 		}
-		
+
 	}
 	else if (action == "getEnvState") {
 
@@ -679,6 +706,36 @@
 		}
 		THSActionUtil::addTargetCodes(codeList, app->recognitionManager);
 	}
+	else if (action == "getIndustryCodes") {
+		//鑾峰彇琛屼笟浠g爜
+		if (!app->industryCapture->isInited()) {
+			app->industryCapture->init(OnIndustryDataCallback, app);
+		}
+		try {
+			app->industryCapture->refreshHWND();
+		}
+		catch (string st) {
+			cout << "鍒濆鍖栬涓氫唬鐮佸嚭閿�" << endl;
+		}
+		//璇嗗埆琛屼笟浠g爜
+		CappDlg::runCaptureIndustryCodes(app);
+	}
+	else if (action == "getL2Codes") {
+		//鑾峰彇姝e湪鐩戝惉鐨凩2鏁版嵁
+		std::list<GPCodeArea> resultList = THSActionUtil::getListenL2GPAreaAndCode(recognitionManager_L2Code);
+		Json::Value root;
+		Json::Value data;
+		int index = 0;
+		for (std::list<GPCodeArea>::iterator ele = resultList.begin();ele != resultList.end();++ele) {
+			Json::Value item;
+			item["index"] = (*ele).cateIndex;
+			item["code"] = (*ele).code;
+			data[index++] = item;
+		}
+		root["data"] = data;
+		root["client"] = clientNum;
+		return JsonUtil::toJsonStr(root);
+	}
 
 	return "";
 }
@@ -724,8 +781,28 @@
 
 			string ownMemory = to_string(memoryUsage_M);
 			ownMemory.append("MB");
+
+
+			//鑾峰彇鏄惁鍗℃
+			bool thsDead;
+			string deadMsg = "";
 			try {
-				string msg = JsonUtil::loadHeartbeatData(clientNum, to_string(mer), ownMemory);
+				bool result = THSActionUtil::thsIsDead();
+				if (result) {
+					thsDead = true;
+				}
+				else {
+					thsDead = false;
+				}
+			}
+			catch (string e) {
+				thsDead = true;
+				deadMsg = e;
+			}
+
+
+			try {
+				string msg = JsonUtil::loadHeartbeatData(clientNum, to_string(mer), ownMemory, thsDead, deadMsg);
 				SocketManager::sendMsg(msg.c_str());
 				//cout << "蹇冭烦淇″彿" << endl;
 			}
@@ -799,7 +876,7 @@
 
 }
 
-void CappDlg::checkTHSEnv(CappDlg *app)
+void CappDlg::checkTHSEnv(CappDlg* app)
 {
 
 	try {
@@ -820,40 +897,40 @@
 	}
 
 
-		HWND l2 = THSActionUtil::getL2Win();
-		if (l2 > 0)
-		{
-			Win32Util::showWindow(l2);
-			//鍒濆鍖杔2鐨勫悇涓獥鍙e彞鏌�
-			app->capture->refreshHWND();
-		}
+	HWND l2 = THSActionUtil::getL2Win();
+	if (l2 > 0)
+	{
+		Win32Util::showWindow(l2);
+		//鍒濆鍖杔2鐨勫悇涓獥鍙e彞鏌�
+		app->capture->refreshHWND();
+	}
 
-		HWND  second = THSActionUtil::getSecondWindow();
-		if (second <= 0) {
-			throw string("鍚岃姳椤哄壇灞�1鏈墦寮�");
-		}
+	HWND  second = THSActionUtil::getSecondWindow();
+	if (second <= 0) {
+		throw string("鍚岃姳椤哄壇灞�1鏈墦寮�");
+	}
 
-		Win32Util::showWindow(second);
+	Win32Util::showWindow(second);
 
 
-		HWND  third = THSActionUtil::getThirdWindow();
-		if (third <= 0) {
-			throw string("鍚岃姳椤哄壇灞�2鏈墦寮�");
-		}
+	HWND  third = THSActionUtil::getThirdWindow();
+	if (third <= 0) {
+		throw string("鍚岃姳椤哄壇灞�2鏈墦寮�");
+	}
 
-		Win32Util::showWindow(third);
+	Win32Util::showWindow(third);
 
 
-		//璁剧疆
-		DEVMODE device = Win32Util::getL2ScreenInfo();
-		int device_width = device.dmPelsWidth;
-		int device_height = device.dmPelsHeight;
-		POINTL device_pos = device.dmPosition;
-		//鏈�澶у寲L2
-		Win32Util::moveWin(l2, device_pos.x, device_pos.y, device_width, device_height);
-		//灏嗗壇灞�1涓庡壇灞�2缂╁皬涓哄睆骞曠殑涓�鍗�
-		Win32Util::moveWin(second, device_pos.x, device_pos.y + device_height / 2, device_width / 2 - 50, device_height / 2);
-		Win32Util::moveWin(third, device_pos.x + device_width / 2 + 30, device_pos.y + device_height / 2, device_width / 2 - 50, device_height / 2);
+	//璁剧疆
+	DEVMODE device = Win32Util::getL2ScreenInfo();
+	int device_width = device.dmPelsWidth;
+	int device_height = device.dmPelsHeight;
+	POINTL device_pos = device.dmPosition;
+	//鏈�澶у寲L2
+	Win32Util::moveWin(l2, device_pos.x, device_pos.y, device_width, device_height);
+	//灏嗗壇灞�1涓庡壇灞�2缂╁皬涓哄睆骞曠殑涓�鍗�
+	Win32Util::moveWin(second, device_pos.x, device_pos.y + device_height / 2, device_width / 2 - 50, device_height / 2);
+	Win32Util::moveWin(third, device_pos.x + device_width / 2 + 30, device_pos.y + device_height / 2, device_width / 2 - 50, device_height / 2);
 }
 
 void CappDlg::autoStartL2(void* context)
@@ -983,7 +1060,7 @@
 	clock_t time = clock();
 
 	CString path = GUITool::selectImage();
-std:string p = Tool::cstring2String(path);
+    std:string p = Tool::cstring2String(path);
 	if (p.length() <= 0) {
 		return;
 	}
@@ -1593,3 +1670,50 @@
 
 
 }
+
+
+void CappDlg::OnBnClickedButtonThs()
+{
+	try {
+		bool result = THSActionUtil::thsIsDead();
+		if (result) {
+			AfxMessageBox(_T("鍗℃"));
+		}
+		else {
+			AfxMessageBox(_T("姝e父"));
+		}
+	}
+	catch (string e) {
+		CString msg(e.c_str());
+		AfxMessageBox(msg);
+	}
+}
+
+
+void CappDlg::OnBnClickedCheckTradeTimeLimitUp()
+{
+	//娑ㄥ仠浜ゆ槗鏃舵璇嗗埆
+	LimitUpCapture::setTradeTimeCapture(limitUpTimeCheck.GetCheck());
+}
+
+
+
+void CappDlg::OnBnClickedCheckTradeTimeTradeSuccess()
+{
+	// 鎴愪氦浠诲姟浜ゆ槗鏃舵璇嗗埆
+	TradeListCapture::setTradeTimeCapture_success(tradeSuccessTimeCheck.GetCheck());
+}
+
+
+void CappDlg::OnBnClickedCheckTradeTimeDelegate()
+{
+	// 濮旀墭浜ゆ槗鏃舵璇嗗埆
+	TradeListCapture::setTradeTimeCapture_delegate(delegateTimeCheck.GetCheck());
+}
+
+
+void CappDlg::OnBnClickedCheckPriceTimeLimit()
+{
+	// 鐜颁环璇嗗埆鏃舵闄愬埗
+	CurrentPriceCapture::setTradeTimeCapture(priceTimeLimitCheck.GetCheck());
+}

--
Gitblit v1.8.0