From 5c9991be21f57781573f04961ec511ac2938ea3d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 08 四月 2025 15:27:08 +0800
Subject: [PATCH] '功能完善'

---
 Monitor/MonitorDlg.cpp |  144 ++++++++++++++++++++++++++---------------------
 1 files changed, 79 insertions(+), 65 deletions(-)

diff --git a/Monitor/MonitorDlg.cpp b/Monitor/MonitorDlg.cpp
index b55e94a..322d9c4 100644
--- a/Monitor/MonitorDlg.cpp
+++ b/Monitor/MonitorDlg.cpp
@@ -66,6 +66,8 @@
 		if (kill) {
 			break;
 		}
+		dlg->taskUpdateTimeMap[REQUEST_TASK_L2_SUBSCRIPT] = TimeUtil::getNowTime();
+
 		try {
 			SubscriptCodesResult result = NetworkApi::get_huaxin_subscript_codes();
 			if (result.codeInfos.size() > 0) {
@@ -485,6 +487,7 @@
 		}
 
 		try {
+			dlg->taskUpdateTimeMap[REQUEST_TASK_ENV] = TimeUtil::getNowTime();
 
 			string result = NetworkApi::get_env_status();
 			CString st = L"";
@@ -492,7 +495,7 @@
 			if (doc.IsObject()) {
 				if (doc[L"code"] == 0) {
 					auto  data = doc[L"data"].GetObjectW();
-					if (data[L"juejin"].GetInt() == 1) {
+					if (data.HasMember(L"juejin")&&data[L"juejin"].GetInt() == 1) {
 						dlg->labelColors[IDC_STATIC_JUEJIN_STATE] = RGB(0, 0, 0);
 						dlg->labelJueJinState.SetWindowTextW(L"姝e父");
 					}
@@ -661,75 +664,77 @@
 		if (kill) {
 			break;
 		}
-		try {
-			string result = NetworkApi::list_system_log(dlg->logStartIndex, 20);
-			cout << result << endl;
-			rapidjson::GenericDocument<rapidjson::UTF16<>>  doc = JsonUtil::parseUTF16(result);
+		if (dlg->checkAutoPullLogs.GetCheck()) {
+			try {
+				string result = NetworkApi::list_system_log(dlg->logStartIndex, 20);
+				cout << result << endl;
+				rapidjson::GenericDocument<rapidjson::UTF16<>>  doc = JsonUtil::parseUTF16(result);
 
-			if (doc.IsObject() && doc[L"code"].GetInt() == 0) {
-				list<TradeDealRecord> tempRecordList;
-				//瑙f瀽缁撴灉
-				auto dataList = doc[L"data"][L"list"].GetArray();
-				if (dataList.Size() > 0) {
-					dlg->logStartIndex += dataList.Size();
-					std::list<CString> tempList;
-					for (int i = 0; i < dataList.Size(); i++) {
-						auto item = dataList[i].GetArray();
-						CString time = item[0].GetString();
-						CString level = item[1].GetString();
-						CString content = item[2].GetString();
-						CString contentStr = L"";
-						contentStr.Append(time.Mid(11));
-						contentStr.Append(L" - ");
-						contentStr.Append(L"[");
-						contentStr.Append(level);
-						contentStr.Append(L"] ");
-						contentStr.Append(content);
-						tempList.push_back(contentStr);
-					}
-					CString content;
-					for (std::list<CString>::iterator el = tempList.begin(); el != tempList.end(); ++el) {
-						content.Append(*el);
-						content.Append(L"\r\n");
-						dlg->logList.push_back(*el);
-					}
-					tempList.clear();
-
-
-					//杩藉姞鏂囨湰
-					int nLength = dlg->editLog.GetWindowTextLength();
-					dlg->editLog.SetSel(nLength, nLength);//瀹氫綅鍒版枃鏈湯灏�
-					dlg->editLog.ReplaceSel(content);//鍦ㄦ枃鏈湯灏捐拷鍔�
-
-					
-					if (dlg->logList.size() > dlg->MAX_LOG_LINES) {
-						//鍒犻櫎鍓嶅嚑琛�
-						int delLength = 0;
-						int delCount = 0;
-						int delLine = dlg->logList.size() - dlg->MAX_LOG_LINES;
-						for (int i = 0; i < delLine; i++) {
-							delCount += 1;
-							list<CString>::iterator its = (dlg->logList).begin();
-						    advance(its, i);
-							CString content = *its;
+				if (doc.IsObject() && doc[L"code"].GetInt() == 0) {
+					list<TradeDealRecord> tempRecordList;
+					//瑙f瀽缁撴灉
+					auto dataList = doc[L"data"][L"list"].GetArray();
+					if (dataList.Size() > 0) {
+						dlg->logStartIndex += dataList.Size();
+						std::list<CString> tempList;
+						for (int i = 0; i < dataList.Size(); i++) {
+							auto item = dataList[i].GetArray();
+							CString time = item[0].GetString();
+							CString level = item[1].GetString();
+							CString content = item[2].GetString();
+							CString contentStr = L"";
+							contentStr.Append(time.Mid(11));
+							contentStr.Append(L" - ");
+							contentStr.Append(L"[");
+							contentStr.Append(level);
+							contentStr.Append(L"] ");
+							contentStr.Append(content);
+							tempList.push_back(contentStr);
+						}
+						CString content;
+						for (std::list<CString>::iterator el = tempList.begin(); el != tempList.end(); ++el) {
+							content.Append(*el);
 							content.Append(L"\r\n");
-							delLength += content.GetLength();
+							dlg->logList.push_back(*el);
 						}
-						for (int i = 0; i < delCount; i++) {
-							(dlg->logList).pop_front();
-						}
-						//鍒犻櫎鍓嶉潰鐨勬枃鏈�
-						dlg->editLog.SetSel(0, delLength);
-						dlg->editLog.ReplaceSel(_T(""));
+						tempList.clear();
+
+
+						//杩藉姞鏂囨湰
 						int nLength = dlg->editLog.GetWindowTextLength();
 						dlg->editLog.SetSel(nLength, nLength);//瀹氫綅鍒版枃鏈湯灏�
+						dlg->editLog.ReplaceSel(content);//鍦ㄦ枃鏈湯灏捐拷鍔�
+
+
+						if (dlg->logList.size() > dlg->MAX_LOG_LINES) {
+							//鍒犻櫎鍓嶅嚑琛�
+							int delLength = 0;
+							int delCount = 0;
+							int delLine = dlg->logList.size() - dlg->MAX_LOG_LINES;
+							for (int i = 0; i < delLine; i++) {
+								delCount += 1;
+								list<CString>::iterator its = (dlg->logList).begin();
+								advance(its, i);
+								CString content = *its;
+								content.Append(L"\r\n");
+								delLength += content.GetLength();
+							}
+							for (int i = 0; i < delCount; i++) {
+								(dlg->logList).pop_front();
+							}
+							//鍒犻櫎鍓嶉潰鐨勬枃鏈�
+							dlg->editLog.SetSel(0, delLength);
+							dlg->editLog.ReplaceSel(_T(""));
+							int nLength = dlg->editLog.GetWindowTextLength();
+							dlg->editLog.SetSel(nLength, nLength);//瀹氫綅鍒版枃鏈湯灏�
+						}
 					}
 				}
 			}
-		}
-		catch (...) {
+			catch (...) {
 
 
+			}
 		}
 		// 姣�1s璇锋眰涓�娆�
 		Sleep(2000);
@@ -847,6 +852,7 @@
 	DDX_Control(pDX, IDC_BUTTON_SEARCH, btnSearch);
 	DDX_Control(pDX, IDC_STATIC_TODAY_K_BARS_COUNT, labelTodayKBarsCount);
 	DDX_Control(pDX, IDC_STATIC_DATA_SERVER_STATE, labelDataServerState);
+	DDX_Control(pDX, IDC_CHECK_READ_LOGS, checkAutoPullLogs);
 }
 
 
@@ -1071,19 +1077,27 @@
 
 void MonitorDlg::OnBnClickedButtonSyncShszCodes()
 {
+	CString msg = L"";
 	string result = NetworkApi::sync_l1_subscript_codes();
 	auto resultDoc = JsonUtil::parseUTF8(result);
 	if (resultDoc.IsObject() && resultDoc["code"].GetInt() == 0) {
 		int count = resultDoc["data"]["codes_sh"].GetInt() + resultDoc["data"]["codes_sz"].GetInt();
-		CString msg;
-		msg.Append(L"鏇存柊鎴愬姛锛屼唬鐮佹�绘暟锛�");
+		msg.Append(L"L1浠g爜鏇存柊锛氭垚鍔燂紝浠g爜鎬绘暟锛�");
 		msg.Append(std::to_wstring(count).c_str());
-		MessageBox(msg, L"鎻愮ず");
 	}
 	else {
-		AfxMessageBox(L"鏇存柊澶辫触");
+		msg.Append(L"L1浠g爜鏇存柊锛氬け璐n");
 	}
-
+	result = NetworkApi::sync_radical_buy_special_codes();
+	auto doc = JsonUtil::parseUTF16(result);
+	if (doc.IsObject() && doc[L"code"].GetInt() == 0) {
+		msg.Append(L"鎵叆杈ㄨ瘑搴︿唬鐮佹洿鏂帮細鎴愬姛锛�");
+		msg.Append(doc[L"msg"].GetString());
+	}
+	else {
+		msg.Append(L"鎵叆杈ㄨ瘑搴︿唬鐮佹洿鏂帮細澶辫触\n");
+	}
+	MessageBox(msg, L"鎻愮ず");
 }
 
 

--
Gitblit v1.8.0