zhangyang 5 лет назад
Родитель
Сommit
c113c06dc9

Разница между файлами не показана из-за своего большого размера
+ 37 - 5
bin/Win32/Debug/zhipuzi_pay_plugin/skin/zidongqingtai_setting.xml


+ 61 - 0
zhipuzi_pay_plugin/tool/CSetting.cpp

@@ -321,6 +321,67 @@ void CSetting::Init()
 		m_paramsMap[jiaoban_shangban_time] = "";
 	}
 
+	/*自动清台相关的设置*/
+	std::string zidongqingtai_is_work = "zidongqingtai_is_work";
+	if (m_paramsMap.find(zidongqingtai_is_work) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_is_work] = "0";
+	}
+
+	std::string zidongqingtai_time = "zidongqingtai_time";
+	if (m_paramsMap.find(zidongqingtai_time) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_time] = "500";
+	}
+
+	std::string zidongqingtai_num = "zidongqingtai_num";
+	if (m_paramsMap.find(zidongqingtai_num) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_num] = "1";
+	}
+
+	std::string zidongqingtai_kuaijiejian_1_mod = "zidongqingtai_kuaijiejian_1_mod";
+	if (m_paramsMap.find(zidongqingtai_kuaijiejian_1_mod) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_kuaijiejian_1_mod] = "";
+	}
+
+	std::string zidongqingtai_kuaijiejian_1_vk = "zidongqingtai_kuaijiejian_1_vk";
+	if (m_paramsMap.find(zidongqingtai_kuaijiejian_1_vk) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_kuaijiejian_1_vk] = "";
+	}
+
+	std::string zidongqingtai_kuaijiejian_2_mod = "zidongqingtai_kuaijiejian_2_mod";
+	if (m_paramsMap.find(zidongqingtai_kuaijiejian_2_mod) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_kuaijiejian_2_mod] = "";
+	}
+
+	std::string zidongqingtai_kuaijiejian_2_vk = "zidongqingtai_kuaijiejian_2_vk";
+	if (m_paramsMap.find(zidongqingtai_kuaijiejian_2_vk) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_kuaijiejian_2_vk] = "";
+	}
+
+	std::string zidongqingtai_kuaijiejian_3_mod = "zidongqingtai_kuaijiejian_3_mod";
+	if (m_paramsMap.find(zidongqingtai_kuaijiejian_3_mod) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_kuaijiejian_3_mod] = "";
+	}
+
+	std::string zidongqingtai_kuaijiejian_3_vk = "zidongqingtai_kuaijiejian_3_vk";
+	if (m_paramsMap.find(zidongqingtai_kuaijiejian_3_vk) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_kuaijiejian_3_vk] = "";
+	}
+
+	std::string zidongqingtai_huitian = "zidongqingtai_huitian";
+	if (m_paramsMap.find(zidongqingtai_huitian) == m_paramsMap.end())
+	{
+		m_paramsMap[zidongqingtai_huitian] = "0";
+	}
+
 	m_mutex.unlock();
 
 	//设置好默认参数之后,将默认参数写回到数据库

+ 50 - 22
zhipuzi_pay_plugin/wnd/CShoukuanWnd.cpp

@@ -23,7 +23,7 @@ void CShoukuanWnd::Notify(TNotifyUI& msg)
 	{
 		if (msg.pSender->GetName() == _T("closebtn"))
 		{
-			m_valueWnd->CloseShoukuan();
+			m_valueWnd->CloseShoukuan(false);
 			return;
 		}
 		else if (msg.pSender->GetName() == _T("shoukuanBtn"))
@@ -175,7 +175,7 @@ LRESULT CShoukuanWnd::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa
 		}
 		else
 		{
-			m_valueWnd->CloseShoukuan();
+			m_valueWnd->CloseShoukuan(true);
 		}
 	}
 	else if (m_shoukuan_status == 4)
@@ -193,7 +193,7 @@ LRESULT CShoukuanWnd::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa
 		}
 		else
 		{
-			m_valueWnd->CloseShoukuan();
+			m_valueWnd->CloseShoukuan(false);
 		}
 	}
 
@@ -288,10 +288,14 @@ LRESULT CShoukuanWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bo
 			{
 				//正在支付的过程中,这个时候按Enter键,不做任何处理
 			}
-			else if (m_shoukuan_status == 3 || m_shoukuan_status == 4)
+			else if (m_shoukuan_status == 3)
 			{
 				//已经明确成功或者失败了,那么久直接关闭就可以了
-				m_valueWnd->CloseShoukuan();
+				m_valueWnd->CloseShoukuan(true);
+			}
+			else if (m_shoukuan_status == 4)
+			{
+				m_valueWnd->CloseShoukuan(false);
 			}
 
 			return true;
@@ -301,7 +305,7 @@ LRESULT CShoukuanWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bo
 			if (m_shoukuan_status == 0)
 			{
 				//还没开始支付,按Esc直接退出
-				m_valueWnd->CloseShoukuan();
+				m_valueWnd->CloseShoukuan(false);
 			}
 			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
 			{
@@ -312,19 +316,27 @@ LRESULT CShoukuanWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bo
 				//查询密码的过程中,取消付款
 				CancelShoukuanPassword();
 			}
-			else if (m_shoukuan_status == 3 || m_shoukuan_status == 4)
+			else if (m_shoukuan_status == 3)
 			{
-				//已经明确成功或者失败了,那么久直接关闭就可以了
-				m_valueWnd->CloseShoukuan();
+				m_valueWnd->CloseShoukuan(true);
+			}
+			else if (m_shoukuan_status == 4)
+			{
+				m_valueWnd->CloseShoukuan(false);
 			}
 
 			return true;
 		}
 
-		if (m_shoukuan_status == 3 || m_shoukuan_status == 4)
+		if (m_shoukuan_status == 3)
 		{
-			//已经明确成功或者失败了,那么久直接关闭就可以了
-			m_valueWnd->CloseShoukuan();
+			m_valueWnd->CloseShoukuan(true);
+
+			return true;
+		}
+		else if (m_shoukuan_status == 4)
+		{
+			m_valueWnd->CloseShoukuan(false);
 
 			return true;
 		}
@@ -655,7 +667,7 @@ void CShoukuanWnd::HandleShoukuan()
 		return;
 	}
 
-	if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
+	if (!document.HasMember("errcode") || !document.HasMember("errmsg"))
 	{
 		LOG_INFO("json error!");
 		m_shoukuan_status = 4;
@@ -673,6 +685,18 @@ void CShoukuanWnd::HandleShoukuan()
 		LOG_INFO("response failed! message:" << document["errmsg"].GetString());
 		m_shoukuan_status = 4;
 
+		std::string errmsg = document["errmsg"].GetString();
+		m_fail_message = CLewaimaiString::UTF8ToUnicode(errmsg);
+
+		SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
+		return;
+	}
+
+	if (!document.HasMember("data"))
+	{
+		LOG_INFO("json error!");
+		m_shoukuan_status = 4;
+
 		m_fail_message = L"服务器错误";
 
 		SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
@@ -711,12 +735,14 @@ void CShoukuanWnd::HandleShoukuan()
 		//需要查询支付状态
 		SendMessage(WM_SHOUKUAN_STATUS_NEEDPASSWORD, 0, 0);
 	}
+	else
+	{
+		m_shoukuan_status = 4;
 
-	m_shoukuan_status = 4;
-
-	m_fail_message = L"服务器错误";
+		m_fail_message = L"服务器错误";
 
-	SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
+		SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
+	}
 }
 
 void CShoukuanWnd::HandleShoukuanPassword()
@@ -811,13 +837,15 @@ void CShoukuanWnd::HandleShoukuanPassword()
 			//这个只是表示状态未知
 			Sleep(1000);
 		}
+		else
+		{
+			m_shoukuan_status = 4;
 
-		m_shoukuan_status = 4;
-
-		m_fail_message = L"服务器错误";
+			m_fail_message = L"服务器错误";
 
-		SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
-		break;
+			SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
+			break;
+		}
 	}
 }
 

+ 297 - 71
zhipuzi_pay_plugin/wnd/CSystemSettingWnd.cpp

@@ -523,6 +523,126 @@ void CSystemSettingWnd::Init()
     CButtonUI* shezhi_edit = static_cast<CButtonUI*>(m_pm.FindControl(_T("kuaijiejian_setting_shezhi_btn")));
     shezhi_edit->SetText(shezhi_info);
 
+    //自动清台相关的初始化
+    CCheckBoxUI* zidongqingtai_setting_work = static_cast<CCheckBoxUI*>(m_pm.FindControl(L"zidongqingtai_setting_work"));
+    std::string zidongqingtai_is_work = CSetting::GetParam("zidongqingtai_is_work");
+    if(zidongqingtai_is_work == "1")
+    {
+        zidongqingtai_setting_work->SetCheck(true);
+    }
+    else
+    {
+        zidongqingtai_setting_work->SetCheck(false);
+    }
+
+    CEditUI* zidongqingtai_setting_time_edit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_time")));
+    std::string zidongqingtai_time = CSetting::GetParam("zidongqingtai_time");
+    zidongqingtai_setting_time_edit->SetText(CLewaimaiString::UTF8ToUnicode(zidongqingtai_time).c_str());
+
+    CComboUI* com_qingtaibuzhou = static_cast<CComboUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_num")));
+    com_qingtaibuzhou->RemoveAll();
+
+    //数据库中保存的之前的设置
+    std::string zidongqingtai_num = CSetting::GetParam("zidongqingtai_num");
+    std::wstring ws_zidongqingtai_num = CLewaimaiString::UTF8ToUnicode(zidongqingtai_num);
+
+    i = 0;
+    nSelect = -1;
+
+    for(int j = 1; j <= 3; j++)
+    {
+        CListLabelElementUI* elem = new CListLabelElementUI();
+        elem->SetText(to_wstring(j).c_str());
+        com_qingtaibuzhou->Add(elem);
+
+        if(to_wstring(j) == ws_zidongqingtai_num)
+        {
+            nSelect = i;
+        }
+
+        i++;
+    }
+
+    com_qingtaibuzhou->SetInternVisible(true);
+    com_qingtaibuzhou->SelectItem(nSelect, false, false);
+    com_qingtaibuzhou->SetText(CLewaimaiString::UTF8ToUnicode(zidongqingtai_num).c_str());
+
+    UINT zidongqingtai_kuaijiejian_1_mod = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_1_mod").c_str());
+    UINT zidongqingtai_kuaijiejian_1_vk = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_1_vk").c_str());
+
+    UINT zidongqingtai_kuaijiejian_2_mod = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_2_mod").c_str());
+    UINT zidongqingtai_kuaijiejian_2_vk = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_2_vk").c_str());
+
+    UINT zidongqingtai_kuaijiejian_3_mod = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_3_mod").c_str());
+    UINT zidongqingtai_kuaijiejian_3_vk = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_3_vk").c_str());
+
+    CDuiString zidongqingtai_kuaijiejian_1_info;
+    if(zidongqingtai_kuaijiejian_1_mod == 2)
+    {
+        zidongqingtai_kuaijiejian_1_info.Format(_T("CTRL + %c"), zidongqingtai_kuaijiejian_1_vk);
+    }
+    else if(zidongqingtai_kuaijiejian_1_mod == 1)
+    {
+        zidongqingtai_kuaijiejian_1_info.Format(_T("ALT + %c"), zidongqingtai_kuaijiejian_1_vk);
+    }
+    else if(zidongqingtai_kuaijiejian_1_mod == 4)
+    {
+        zidongqingtai_kuaijiejian_1_info.Format(_T("SHIFT + %c"), zidongqingtai_kuaijiejian_1_vk);
+    }
+    else
+    {
+        zidongqingtai_kuaijiejian_1_info == L"";
+    }
+
+    CButtonUI* zidongqingtai_setting_buzhou_1_edit = static_cast<CButtonUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_1")));
+    zidongqingtai_setting_buzhou_1_edit->SetText(zidongqingtai_kuaijiejian_1_info);
+
+    CDuiString zidongqingtai_kuaijiejian_2_info;
+    if(zidongqingtai_kuaijiejian_2_mod == 2)
+    {
+        zidongqingtai_kuaijiejian_2_info.Format(_T("CTRL + %c"), zidongqingtai_kuaijiejian_2_vk);
+    }
+    else if(zidongqingtai_kuaijiejian_2_mod == 1)
+    {
+        zidongqingtai_kuaijiejian_2_info.Format(_T("ALT + %c"), zidongqingtai_kuaijiejian_2_vk);
+    }
+    else if(zidongqingtai_kuaijiejian_2_mod == 4)
+    {
+        zidongqingtai_kuaijiejian_2_info.Format(_T("SHIFT + %c"), zidongqingtai_kuaijiejian_2_vk);
+    }
+    else
+    {
+        zidongqingtai_kuaijiejian_2_info == L"";
+    }
+
+    CButtonUI* zidongqingtai_setting_buzhou_2_edit = static_cast<CButtonUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_2")));
+    zidongqingtai_setting_buzhou_2_edit->SetText(zidongqingtai_kuaijiejian_2_info);
+
+    CDuiString zidongqingtai_kuaijiejian_3_info;
+    if(zidongqingtai_kuaijiejian_3_mod == 2)
+    {
+        zidongqingtai_kuaijiejian_3_info.Format(_T("CTRL + %c"), zidongqingtai_kuaijiejian_3_vk);
+    }
+    else if(zidongqingtai_kuaijiejian_3_mod == 1)
+    {
+        zidongqingtai_kuaijiejian_3_info.Format(_T("ALT + %c"), zidongqingtai_kuaijiejian_3_vk);
+    }
+    else if(zidongqingtai_kuaijiejian_3_mod == 4)
+    {
+        zidongqingtai_kuaijiejian_3_info.Format(_T("SHIFT + %c"), zidongqingtai_kuaijiejian_3_vk);
+    }
+    else
+    {
+        zidongqingtai_kuaijiejian_3_info == L"";
+    }
+
+    CButtonUI* zidongqingtai_setting_buzhou_3_edit = static_cast<CButtonUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_3")));
+    zidongqingtai_setting_buzhou_3_edit->SetText(zidongqingtai_kuaijiejian_3_info);
+
+    CEditUI* zidongqingtai_setting_huitian_edit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_huitian")));
+    std::string zidongqingtai_huitian = CSetting::GetParam("zidongqingtai_huitian");
+    zidongqingtai_setting_huitian_edit->SetText(CLewaimaiString::UTF8ToUnicode(zidongqingtai_huitian).c_str());
+
     //关于我们
     CLabelUI* version = static_cast<CLabelUI*>(m_pm.FindControl(_T("about_version")));
     version->SetText((L"版本号:" + CLewaimaiString::UTF8ToUnicode(CSystem::GetVersion())).c_str());
@@ -630,14 +750,14 @@ LRESULT CSystemSettingWnd::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
 LRESULT CSystemSettingWnd::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 {
     //先按控制键
-    if(m_is_kuaijiejian_page)
+    if(m_is_kuaijiejian_page || m_is_zidongqingtai_page)
     {
         if(uMsg == WM_KEYDOWN || uMsg == WM_SYSKEYDOWN)
         {
             if(wParam != VK_CONTROL && wParam != VK_MENU && wParam != VK_SHIFT)
             {
                 //这个情况,按的是字母键之类的
-				CDuiString duiText;
+                CDuiString duiText;
 
                 if(VK_F1 <= wParam && wParam <= VK_F12)
                 {
@@ -669,36 +789,57 @@ LRESULT CSystemSettingWnd::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BO
                 }
 
                 //到这里来设置成功了,做展示
-                if(m_kuaijiejian_type == 1)
+                if(m_is_kuaijiejian_page)
                 {
-                    CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_shoukuan_btn")));
-                    focusEdit->SetText(duiText);
+                    if(m_kuaijiejian_type == 1)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_shoukuan_btn")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_kuaijiejian_type == 2)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_tuikuan_btn")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_kuaijiejian_type == 3)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_jiaoyijilu_btn")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_kuaijiejian_type == 4)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_jiaoyihuizong_btn")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_kuaijiejian_type == 5)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_jiaoban_btn")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_kuaijiejian_type == 6)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_shezhi_btn")));
+                        focusEdit->SetText(duiText);
+                    }
+                }
+                else if(m_is_zidongqingtai_page)
+                {
+                    if(m_zidongqingtai_type == 1)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_1")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_zidongqingtai_type == 2)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_2")));
+                        focusEdit->SetText(duiText);
+                    }
+                    else if(m_zidongqingtai_type == 3)
+                    {
+                        CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_3")));
+                        focusEdit->SetText(duiText);
+                    }
                 }
-				else if (m_kuaijiejian_type == 2)
-				{
-					CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_tuikuan_btn")));
-					focusEdit->SetText(duiText);
-				}
-				else if (m_kuaijiejian_type == 3)
-				{
-					CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_jiaoyijilu_btn")));
-					focusEdit->SetText(duiText);
-				}
-				else if (m_kuaijiejian_type == 4)
-				{
-					CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_jiaoyihuizong_btn")));
-					focusEdit->SetText(duiText);
-				}
-				else if (m_kuaijiejian_type == 5)
-				{
-					CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_jiaobao_btn")));
-					focusEdit->SetText(duiText);
-				}
-				else if (m_kuaijiejian_type == 6)
-				{
-					CEditUI* focusEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("kuaijiejian_setting_shezhi_btn")));
-					focusEdit->SetText(duiText);
-				}
 
                 m_vk = wParam;
                 m_isSet = true;
@@ -745,39 +886,60 @@ LRESULT CSystemSettingWnd::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BO
                 //这里表示已经设置好了,等后面保存
                 if(wParam != VK_CONTROL && wParam != VK_MENU && wParam != VK_SHIFT)
                 {
-                    //准备开始注册热键了
-					if (m_kuaijiejian_type == 1)
-					{
-						CSetting::SetParam("system_setting_kuaijiejian_shoukuan_mod", to_string(m_mod));
-						CSetting::SetParam("system_setting_kuaijiejian_shoukuan_vk", to_string(m_vk));
-					}
-					else if (m_kuaijiejian_type == 2)
-					{
-						CSetting::SetParam("system_setting_kuaijiejian_tuikuan_mod", to_string(m_mod));
-						CSetting::SetParam("system_setting_kuaijiejian_tuikuan_vk", to_string(m_vk));
-					}
-					else if (m_kuaijiejian_type == 3)
-					{
-						CSetting::SetParam("system_setting_kuaijiejian_jiaoyijilu_mod", to_string(m_mod));
-						CSetting::SetParam("system_setting_kuaijiejian_jiaoyijilu_vk", to_string(m_vk));
-					}
-					else if (m_kuaijiejian_type == 4)
-					{
-						CSetting::SetParam("system_setting_kuaijiejian_jiaoyihuizong_mod", to_string(m_mod));
-						CSetting::SetParam("system_setting_kuaijiejian_jiaoyihuizong_vk", to_string(m_vk));
-					}
-					else if (m_kuaijiejian_type == 5)
-					{
-						CSetting::SetParam("system_setting_kuaijiejian_jiaoban_mod", to_string(m_mod));
-						CSetting::SetParam("system_setting_kuaijiejian_jiaoban_vk", to_string(m_vk));
-					}
-					else if (m_kuaijiejian_type == 6)
-					{
-						CSetting::SetParam("system_setting_kuaijiejian_shezhi_mod", to_string(m_mod));
-						CSetting::SetParam("system_setting_kuaijiejian_shezhi_vk", to_string(m_vk));
-					}
-
-                    m_valueWnd->UpdateRegisterHotKey();
+                    if(m_is_kuaijiejian_page)
+                    {
+                        //准备开始注册热键了
+                        if(m_kuaijiejian_type == 1)
+                        {
+                            CSetting::SetParam("system_setting_kuaijiejian_shoukuan_mod", to_string(m_mod));
+                            CSetting::SetParam("system_setting_kuaijiejian_shoukuan_vk", to_string(m_vk));
+                        }
+                        else if(m_kuaijiejian_type == 2)
+                        {
+                            CSetting::SetParam("system_setting_kuaijiejian_tuikuan_mod", to_string(m_mod));
+                            CSetting::SetParam("system_setting_kuaijiejian_tuikuan_vk", to_string(m_vk));
+                        }
+                        else if(m_kuaijiejian_type == 3)
+                        {
+                            CSetting::SetParam("system_setting_kuaijiejian_jiaoyijilu_mod", to_string(m_mod));
+                            CSetting::SetParam("system_setting_kuaijiejian_jiaoyijilu_vk", to_string(m_vk));
+                        }
+                        else if(m_kuaijiejian_type == 4)
+                        {
+                            CSetting::SetParam("system_setting_kuaijiejian_jiaoyihuizong_mod", to_string(m_mod));
+                            CSetting::SetParam("system_setting_kuaijiejian_jiaoyihuizong_vk", to_string(m_vk));
+                        }
+                        else if(m_kuaijiejian_type == 5)
+                        {
+                            CSetting::SetParam("system_setting_kuaijiejian_jiaoban_mod", to_string(m_mod));
+                            CSetting::SetParam("system_setting_kuaijiejian_jiaoban_vk", to_string(m_vk));
+                        }
+                        else if(m_kuaijiejian_type == 6)
+                        {
+                            CSetting::SetParam("system_setting_kuaijiejian_shezhi_mod", to_string(m_mod));
+                            CSetting::SetParam("system_setting_kuaijiejian_shezhi_vk", to_string(m_vk));
+                        }
+
+                        m_valueWnd->UpdateRegisterHotKey();
+                    }
+                    else if(m_is_zidongqingtai_page)
+                    {
+                        if(m_zidongqingtai_type == 1)
+                        {
+                            CSetting::SetParam("zidongqingtai_kuaijiejian_1_mod", to_string(m_mod));
+                            CSetting::SetParam("zidongqingtai_kuaijiejian_1_vk", to_string(m_vk));
+                        }
+                        else if(m_zidongqingtai_type == 2)
+                        {
+                            CSetting::SetParam("zidongqingtai_kuaijiejian_2_mod", to_string(m_mod));
+                            CSetting::SetParam("zidongqingtai_kuaijiejian_2_vk", to_string(m_vk));
+                        }
+                        else if(m_zidongqingtai_type == 3)
+                        {
+                            CSetting::SetParam("zidongqingtai_kuaijiejian_3_mod", to_string(m_mod));
+                            CSetting::SetParam("zidongqingtai_kuaijiejian_3_vk", to_string(m_vk));
+                        }
+                    }
                 }
             }
 
@@ -1181,6 +1343,54 @@ void CSystemSettingWnd::HandleClickMsg(TNotifyUI& msg)
         m_vk = 0;
         m_isSet = false;
     }
+    else if(senderName == L"zidongqingtai_setting_buzhou_1")
+    {
+        m_zidongqingtai_type = 1;
+
+        m_mod = 0;
+        m_vk = 0;
+        m_isSet = false;
+    }
+    else if(senderName == L"zidongqingtai_setting_buzhou_2")
+    {
+        m_zidongqingtai_type = 2;
+
+        m_mod = 0;
+        m_vk = 0;
+        m_isSet = false;
+    }
+    else if(senderName == L"zidongqingtai_setting_buzhou_3")
+    {
+        m_zidongqingtai_type = 3;
+
+        m_mod = 0;
+        m_vk = 0;
+        m_isSet = false;
+    }
+    else if(senderName == L"zidongqingtai_setting_save")
+    {
+        CCheckBoxUI* zidongqingtai_setting_work = static_cast<CCheckBoxUI*>(m_pm.FindControl(L"zidongqingtai_setting_work"));
+        if(zidongqingtai_setting_work->IsSelected())
+        {
+            CSetting::SetParam("zidongqingtai_is_work", "1");
+        }
+        else
+        {
+            CSetting::SetParam("zidongqingtai_is_work", "0");
+        }
+
+        CEditUI* zidongqingtai_setting_time_edit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_time")));
+        std::wstring ws_zidongqingtai_setting_time = zidongqingtai_setting_time_edit->GetText();
+        CSetting::SetParam("zidongqingtai_time", CLewaimaiString::UnicodeToUTF8(ws_zidongqingtai_setting_time));
+
+        CComboUI* com_qingtaibuzhou = static_cast<CComboUI*>(m_pm.FindControl(_T("zidongqingtai_setting_buzhou_num")));
+        std::wstring ws_buzhou_num = com_qingtaibuzhou->GetText();
+        CSetting::SetParam("zidongqingtai_num", CLewaimaiString::UnicodeToUTF8(ws_buzhou_num));
+
+        CEditUI* zidongqingtai_setting_huitian_edit = static_cast<CEditUI*>(m_pm.FindControl(_T("zidongqingtai_setting_huitian")));
+        std::wstring ws_zidongqingtai_setting_huitian = zidongqingtai_setting_huitian_edit->GetText();
+        CSetting::SetParam("zidongqingtai_huitian", CLewaimaiString::UnicodeToUTF8(ws_zidongqingtai_setting_huitian));
+    }
     else if(senderName == L"system_setting_logout")
     {
         m_valueWnd->Logout();
@@ -1200,6 +1410,9 @@ void CSystemSettingWnd::HandleSelectChangeMsg(TNotifyUI& msg)
         {
             pControl->SelectItem(0);
         }
+
+        m_is_kuaijiejian_page = false;
+        m_is_zidongqingtai_page = false;
     }
 
     else if(name == _T("system_setting_option_dayinji"))
@@ -1210,6 +1423,9 @@ void CSystemSettingWnd::HandleSelectChangeMsg(TNotifyUI& msg)
         {
             pControl->SelectItem(1);
         }
+
+        m_is_kuaijiejian_page = false;
+        m_is_zidongqingtai_page = false;
     }
 
     else if(name == _T("system_setting_option_shoukuanshezhi"))
@@ -1220,6 +1436,9 @@ void CSystemSettingWnd::HandleSelectChangeMsg(TNotifyUI& msg)
         {
             pControl->SelectItem(2);
         }
+
+        m_is_kuaijiejian_page = false;
+        m_is_zidongqingtai_page = false;
     }
 
     else if(name == _T("system_setting_option_kuaijiejian"))
@@ -1232,17 +1451,21 @@ void CSystemSettingWnd::HandleSelectChangeMsg(TNotifyUI& msg)
         }
 
         m_is_kuaijiejian_page = true;
+        m_is_zidongqingtai_page = false;
     }
 
-	else if (name == _T("system_setting_option_zidongqingtai"))
-	{
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+    else if(name == _T("system_setting_option_zidongqingtai"))
+    {
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+
+        if(pControl && pControl->GetCurSel() != 4)
+        {
+            pControl->SelectItem(4);
+        }
 
-		if (pControl && pControl->GetCurSel() != 4)
-		{
-			pControl->SelectItem(4);
-		}
-	}
+        m_is_kuaijiejian_page = false;
+        m_is_zidongqingtai_page = true;
+    }
 
     else if(name == _T("system_setting_option_about"))
     {
@@ -1252,6 +1475,9 @@ void CSystemSettingWnd::HandleSelectChangeMsg(TNotifyUI& msg)
         {
             pControl->SelectItem(5);
         }
+
+        m_is_kuaijiejian_page = false;
+        m_is_zidongqingtai_page = false;
     }
 
     else if(name == _T("jinezhuaqu_setting_chuankou"))

+ 5 - 0
zhipuzi_pay_plugin/wnd/CSystemSettingWnd.h

@@ -101,7 +101,12 @@ private:
 	UINT m_vk = 0;
 	bool m_isSet = false;
 
+	//우쌥숩斤口
 	bool m_is_kuaijiejian_page = false;
 	int m_kuaijiejian_type = 0;
+
+	//菱땡헌憩斤口
+	bool m_is_zidongqingtai_page = false;
+	int m_zidongqingtai_type = 0;
 };
 

+ 28 - 10
zhipuzi_pay_plugin/wnd/CTuikuanWnd.cpp

@@ -558,7 +558,7 @@ void CTuikuanWnd::HandleTuikuan()
 		return;
 	}
 
-	if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
+	if (!document.HasMember("errcode") || !document.HasMember("errmsg"))
 	{
 		LOG_INFO("json error!");
 
@@ -579,6 +579,20 @@ void CTuikuanWnd::HandleTuikuan()
 
 		m_tuikuan_status = 4;
 
+		std::string errmsg = document["errmsg"].GetString();
+		m_fail_message = CLewaimaiString::UTF8ToUnicode(errmsg);
+
+		SendMessage(WM_TUIKUAN_STATUS_FAIL, 0, 0);
+
+		return;
+	}
+
+	if (!document.HasMember("data"))
+	{
+		LOG_INFO("json error!");
+
+		m_tuikuan_status = 4;
+
 		m_fail_message = L"服务器错误!";
 
 		SendMessage(WM_TUIKUAN_STATUS_FAIL, 0, 0);
@@ -619,12 +633,14 @@ void CTuikuanWnd::HandleTuikuan()
 		//需要查询支付状态
 		SendMessage(WM_TUIKUAN_STATUS_NEEDPASSWORD, 0, 0);
 	}
+	else
+	{
+		m_tuikuan_status = 4;
 
-	m_tuikuan_status = 4;
-
-	m_fail_message = L"服务器错误!";
+		m_fail_message = L"服务器错误!";
 
-	SendMessage(WM_TUIKUAN_STATUS_FAIL, 0, 0);
+		SendMessage(WM_TUIKUAN_STATUS_FAIL, 0, 0);
+	}
 }
 
 void CTuikuanWnd::HandleTuikuanPassword()
@@ -719,12 +735,14 @@ void CTuikuanWnd::HandleTuikuanPassword()
 			//这个只是表示状态未知
 			Sleep(1000);
 		}
+		else
+		{
+			m_tuikuan_status = 4;
 
-		m_tuikuan_status = 4;
-
-		m_fail_message = L"服务器错误!";
+			m_fail_message = L"服务器错误!";
 
-		SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
-		break;
+			SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
+			break;
+		}
 	}
 }

+ 75 - 2
zhipuzi_pay_plugin/wnd/CValueWnd.cpp

@@ -88,7 +88,7 @@ void CValueWnd::TopMostWnd()
 
 		if (m_is_show_shoukuan && m_shoukuanWnd != NULL)
 		{
-			::SendMessage(m_shoukuanWnd->GetHWND(), WM_SHOUKUAN_UPDATE_FOCUS, NULL, NULL);
+			//::SendMessage(m_shoukuanWnd->GetHWND(), WM_SHOUKUAN_UPDATE_FOCUS, NULL, NULL);
 		}
 
 		Sleep(100);
@@ -765,12 +765,85 @@ void CValueWnd::ShowShoukuan()
 	}
 }
 
-void CValueWnd::CloseShoukuan()
+void CValueWnd::CloseShoukuan(bool isSuccess)
 {
 	m_is_show_shoukuan = false;
 
 	m_shoukuanWnd->Close();
 	m_shoukuanWnd = NULL;
+
+	if (isSuccess)
+	{
+		//开始执行自动清台
+		CCheckBoxUI* zidongqingtai_setting_work = static_cast<CCheckBoxUI*>(m_pm.FindControl(L"zidongqingtai_setting_work"));
+		std::string zidongqingtai_is_work = CSetting::GetParam("zidongqingtai_is_work");
+
+		if (zidongqingtai_is_work == "0")
+		{
+			return;
+		}
+
+		std::thread(&CValueWnd::HandleZidongqingtai, this).detach();
+	}
+}
+
+void CValueWnd::HandleZidongqingtai()
+{
+	std::string zidongqingtai_time = CSetting::GetParam("zidongqingtai_time");
+	int time = atoi(zidongqingtai_time.c_str());
+
+	std::string zidongqingtai_num = CSetting::GetParam("zidongqingtai_num");
+	int num = atoi(zidongqingtai_num.c_str());
+
+	std::string zidongqingtai_huitian = CSetting::GetParam("zidongqingtai_huitian");
+	int huitian = atoi(zidongqingtai_huitian.c_str());
+
+	UINT zidongqingtai_kuaijiejian_1_mod = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_1_mod").c_str());
+	UINT zidongqingtai_kuaijiejian_1_vk = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_1_vk").c_str());
+
+	UINT zidongqingtai_kuaijiejian_2_mod = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_2_mod").c_str());
+	UINT zidongqingtai_kuaijiejian_2_vk = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_2_vk").c_str());
+
+	UINT zidongqingtai_kuaijiejian_3_mod = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_3_mod").c_str());
+	UINT zidongqingtai_kuaijiejian_3_vk = (UINT)atoi(CSetting::GetParam("zidongqingtai_kuaijiejian_3_vk").c_str());
+
+	if (num >= 1)
+	{
+		//开始执行第一步
+		Sleep(time);
+
+		if (zidongqingtai_kuaijiejian_1_mod > 0)
+		{
+			CSystem::RunHotKey(zidongqingtai_kuaijiejian_1_mod, zidongqingtai_kuaijiejian_1_vk);
+		}
+
+		if (huitian == 1)
+		{
+			//这里开始执行回填
+		}
+	}	
+
+	if (num >= 2)
+	{
+		//需要执行第二步
+		Sleep(time);
+
+		if (zidongqingtai_kuaijiejian_2_mod > 0)
+		{
+			CSystem::RunHotKey(zidongqingtai_kuaijiejian_2_mod, zidongqingtai_kuaijiejian_2_vk);
+		}
+	}
+
+	if (num >= 3)
+	{
+		//需要执行第二步
+		Sleep(time);
+
+		if (zidongqingtai_kuaijiejian_3_mod > 0)
+		{
+			CSystem::RunHotKey(zidongqingtai_kuaijiejian_3_mod, zidongqingtai_kuaijiejian_3_vk);
+		}
+	}
 }
 
 void CValueWnd::ShowTuikuan()

+ 2 - 1
zhipuzi_pay_plugin/wnd/CValueWnd.h

@@ -76,7 +76,8 @@ public:
 
 	//ÏÔʾÊÕ¿î½çÃæ
 	void ShowShoukuan();
-	void CloseShoukuan();
+	void CloseShoukuan(bool isSuccess = false);
+	void HandleZidongqingtai();
 
 	//ÏÔʾÍË¿î½çÃæ
 	void ShowTuikuan();