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