Bläddra i källkod

交易汇总做完了

zhangyang 5 år sedan
förälder
incheckning
d188e80020

+ 50 - 0
bin/Win32/Debug/zhipuzi_pay_plugin/skin/jiaoyihuizong_wnd.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Window size="800,600" caption="0,0,0,44" roundcorner="4,4">
+	<Font id="0" name="微软雅黑" size="16"/>
+	<Font id="1" name="微软雅黑" size="40"/>
+	<Font id="2" name="微软雅黑" size="18"/>
+	<Font id="3" name="微软雅黑" size="32"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png">
+		<HorizontalLayout name="jiaoyihuizong_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="jiaoyihuizong_title" text="交易汇总" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="jiaoyihuizong_closebtn" padding="0,13,15,0" width="16" height="16" tooltip="关闭" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
+		</HorizontalLayout>
+		<HorizontalLayout height="60">
+			<Datetime name="jiaoyihuizong_time_start" width="180" bordersize="1" bordercolor="#FF000000" height="36" padding="10,10,0,0"></Datetime>
+			<Label text="至" width="30" padding="10,0,0,0"></Label>
+			<Datetime name="jiaoyihuizong_time_end" width="180" bordersize="1" bordercolor="#FF000000" height="36" padding="10,10,0,0"></Datetime>
+			<Button name="jiaoyihuizong_query" width="80" height="38" padding="30,10,0,0" text="查询" textcolor="#FFFFFFFF" normalimage="file='Btn_Red.png' corner='5,5,5,5'" hotimage="file='Btn_Red_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Red_Click.png' corner='5,5,5,5'"/>
+			<Control></Control>
+		</HorizontalLayout>
+		<VerticalLayout>
+			<HorizontalLayout height="60" padding="0,50,0,0">
+				<Control width="200"></Control>
+				<Label text="微信支付" width="200" font="2"></Label>
+				<Label name="jiaoyihuizong_weixin_num" text="0笔" width="100" font="2"></Label>
+				<Label name="jiaoyihuizong_weixin_value" text="0元" width="150" font="2" textcolor="FFFF0000"></Label>
+				<Control></Control>
+			</HorizontalLayout>
+			<HorizontalLayout height="60" padding="0,20,0,0">
+				<Control width="200"></Control>
+				<Label text="支付宝" width="200" font="2"></Label>
+				<Label name="jiaoyihuizong_zhifubao_num" text="0笔" width="100" font="2"></Label>
+				<Label name="jiaoyihuizong_zhifubao_value" text="0元" width="150" font="2" textcolor="FFFF0000"></Label>
+				<Control></Control>
+			</HorizontalLayout>
+			<HorizontalLayout height="60" padding="0,20,0,0">
+				<Control width="200"></Control>
+				<Label text="云闪付" width="200" font="2"></Label>
+				<Label name="jiaoyihuizong_yunshanfu_num" text="0笔" width="100" font="2"></Label>
+				<Label name="jiaoyihuizong_yunshanfu_value" text="0元" width="150" font="2" textcolor="FFFF0000"></Label>
+				<Control></Control>
+			</HorizontalLayout>
+			<HorizontalLayout height="60" padding="0,20,0,0">
+				<Control width="200"></Control>
+				<Label text="退款" width="200" font="2"></Label>
+				<Label name="jiaoyihuizong_tuikuan_num" text="0笔" width="100" font="2"></Label>
+				<Label name="jiaoyihuizong_tuikuan_value" text="0元" width="150" font="2" textcolor="FFFF0000"></Label>
+				<Control></Control>
+			</HorizontalLayout>
+		</VerticalLayout>
+	</VerticalLayout>
+</Window>

BIN
lib/debug/zpzDll.lib


+ 345 - 0
zhipuzi_pay_plugin/wnd/CJiaoyihuizongWnd.cpp

@@ -0,0 +1,345 @@
+#include "../pch/pch.h"
+#include "CJiaoyihuizongWnd.h"
+
+#include "../control/ControlEx.h"
+#include "../tool/CComHelper.h"
+
+#include "CValueWnd.h"
+
+#include "../helper/CBitmapHelper.h"
+
+void CJiaoyihuizongWnd::Init()
+{
+	::SetWindowPos(m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
+
+	//处理时间问题
+	time_t now = time(NULL);
+	time_t start = now - 60 * 60 * 24 * 0; //默认起始和结束时间都是今天
+
+	SYSTEMTIME syDataStart = CLewaimaiTime::Time_tToSystemTime(start);
+
+	CDateTimeUI* pDateStart = static_cast<CDateTimeUI*>(m_pm.FindControl(_T("jiaoyihuizong_time_start")));
+	pDateStart->SetTime(&syDataStart);
+	pDateStart->UpdateText();
+
+	std::string s_start = CLewaimaiTime::DatetimeToDateString(start);
+	pDateStart->SetText(CLewaimaiString::UTF8ToUnicode(s_start).c_str());
+
+	StartQuery();
+}
+
+LRESULT CJiaoyihuizongWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+	LONG styleValue = ::GetWindowLong(*this, GWL_STYLE);
+	styleValue &= ~WS_CAPTION;
+	::SetWindowLong(*this, GWL_STYLE, styleValue | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
+
+	// 把自己的窗口句柄与窗口绘制管理器挂接在一起
+	m_pm.Init(m_hWnd);
+	m_pm.AddPreMessageFilter(this);
+
+	//页面内有自定义控件的,必须要加这2个
+	CDialogBuilder builder;
+	CDialogBuilderCallbackEx cb;
+
+	CControlUI* pRoot = builder.Create(_T("jiaoyihuizong_wnd.xml"), (UINT)0, &cb, &m_pm);
+	ASSERT(pRoot && "Failed to parse XML");
+
+	// 把这些控件绘制到本窗口上
+	m_pm.AttachDialog(pRoot);
+
+	// 把自己加入到CPaintManagerUI的m_aNotifiers数组中,用于处理Notify函数
+	m_pm.AddNotifier(this);
+
+	Init();
+
+	return 0;
+}
+
+LRESULT CJiaoyihuizongWnd::OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+	POINT pt;
+	pt.x = GET_X_LPARAM(lParam);
+	pt.y = GET_Y_LPARAM(lParam);
+	::ScreenToClient(*this, &pt);
+
+	RECT rcClient;
+	::GetClientRect(*this, &rcClient);
+
+	RECT rcCaption = m_pm.GetCaptionRect();
+	if (pt.x >= rcClient.left + rcCaption.left && pt.x < rcClient.right - rcCaption.right \
+		&& pt.y >= rcCaption.top && pt.y < rcCaption.bottom)
+	{
+		CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(pt));
+		if (pControl && _tcscmp(pControl->GetClass(), DUI_CTR_BUTTON) != 0)
+		{
+			return HTCAPTION;
+		}
+	}
+
+	return HTCLIENT;
+}
+
+LRESULT CJiaoyihuizongWnd::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+	SIZE szRoundCorner = m_pm.GetRoundCorner();
+	if (!::IsIconic(*this) && (szRoundCorner.cx != 0 || szRoundCorner.cy != 0))
+	{
+		CDuiRect rcWnd;
+		::GetWindowRect(*this, &rcWnd);
+		rcWnd.Offset(-rcWnd.left, -rcWnd.top);
+		rcWnd.right++;
+		rcWnd.bottom++;
+		HRGN hRgn = ::CreateRoundRectRgn(rcWnd.left, rcWnd.top, rcWnd.right, rcWnd.bottom, szRoundCorner.cx, szRoundCorner.cy);
+		::SetWindowRgn(*this, hRgn, TRUE);
+		::DeleteObject(hRgn);
+	}
+
+	bHandled = FALSE;
+	return 0;
+}
+
+LRESULT CJiaoyihuizongWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+	LRESULT lRes = 0;
+	BOOL bHandled = TRUE;
+	switch (uMsg)
+	{
+	case WM_CREATE:
+		lRes = OnCreate(uMsg, wParam, lParam, bHandled);
+		break;
+	case WM_NCACTIVATE:
+		lRes = OnNcActivate(uMsg, wParam, lParam, bHandled);
+		break;
+	case WM_NCCALCSIZE:
+		lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled);
+		break;
+	case WM_NCPAINT:
+		lRes = OnNcPaint(uMsg, wParam, lParam, bHandled);
+		break;
+	case WM_NCHITTEST:
+		lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled);
+		break;
+	case WM_SIZE:
+		lRes = OnSize(uMsg, wParam, lParam, bHandled);
+		break;
+	default:
+		bHandled = FALSE;
+	}
+	if (bHandled)
+	{
+		return lRes;
+	}
+	if (m_pm.MessageHandler(uMsg, wParam, lParam, lRes))
+	{
+		return lRes;
+	}
+	return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
+}
+
+LRESULT CJiaoyihuizongWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled)
+{
+
+	return false;
+}
+
+
+void CJiaoyihuizongWnd::Notify(TNotifyUI& msg)
+{
+	if (msg.sType == _T("windowinit"))
+	{
+		OnPrepare();
+	}
+
+	else if (msg.sType == _T("click"))
+	{
+		HandleClickMsg(msg);
+	}
+
+	else if (msg.sType == _T("selectchanged"))
+	{
+		HandleSelectChangeMsg(msg);
+	}
+
+	else if (msg.sType == _T("itemclick"))
+	{
+
+	}
+	else if (msg.sType == _T("itemactivate"))
+	{
+
+	}
+	else if (msg.sType == _T("itemselect"))
+	{
+		HandleItemSelectMsg(msg);
+	}
+	else if (msg.sType == _T("setfocus"))
+	{
+		if (msg.pSender->GetName() == L"kuaijiejian_setting_jiesuan_edit")
+		{
+			SetFocus(m_hWnd);
+		}
+	}
+}
+
+void CJiaoyihuizongWnd::HandleClickMsg(TNotifyUI& msg)
+{
+	DuiLib::CDuiString senderName = msg.pSender->GetName();
+
+	if (senderName == _T("jiaoyihuizong_closebtn"))
+	{
+		Close(IDCANCEL);
+		return;
+	}
+	else if (senderName == L"jiaoyihuizong_query")
+	{
+		this->StartQuery();
+	}
+}
+
+void CJiaoyihuizongWnd::HandleSelectChangeMsg(TNotifyUI& msg)
+{
+	CDuiString name = msg.pSender->GetName();
+
+
+}
+void CJiaoyihuizongWnd::HandleItemSelectMsg(TNotifyUI& msg)
+{
+	CDuiString name = msg.pSender->GetName();
+}
+
+void CJiaoyihuizongWnd::StartQuery()
+{
+	if (m_is_query)
+	{
+		return;
+	}
+
+	m_is_query = true;
+
+	CDateTimeUI* pDateStart = static_cast<CDateTimeUI*>(m_pm.FindControl(_T("jiaoyihuizong_time_start")));
+	SYSTEMTIME syDataStart = pDateStart->GetTime();
+
+	syDataStart.wHour = 0;
+	syDataStart.wMinute = 0;
+	syDataStart.wSecond = 0;
+	syDataStart.wMilliseconds = 0;
+
+	CDateTimeUI* pDateEnd = static_cast<CDateTimeUI*>(m_pm.FindControl(_T("jiaoyihuizong_time_end")));
+	SYSTEMTIME syDataEnd = pDateEnd->GetTime();
+
+	syDataEnd.wHour = 23;
+	syDataEnd.wMinute = 59;
+	syDataEnd.wSecond = 59;
+	syDataEnd.wMilliseconds = 999;
+
+	time_t start_time = CLewaimaiTime::SystemTimeToTime_t(syDataStart);
+	time_t end_time = CLewaimaiTime::SystemTimeToTime_t(syDataEnd);
+
+	std::string s_start = CLewaimaiTime::DatetimeToString(start_time);
+	std::string s_end = CLewaimaiTime::DatetimeToString(end_time);
+
+	if (end_time - start_time > 60 * 60 * 24 * 7)
+	{
+		//起始时间不能大于7天
+		MessageBox(GetHWND(), L"选择的时间段不能超过7天", L"提示", MB_OK);
+		m_is_query = false;
+		return;
+	}
+
+	if (end_time - start_time < 0)
+	{
+		MessageBox(GetHWND(), L"结束时间不能小于起始时间", L"提示", MB_OK);
+		m_is_query = false;
+		return;
+	}
+
+	//更新时间
+	m_start_time = s_start;
+	m_end_time = s_end;
+
+	//启动一个线程,刷新列表内容
+	std::thread(&CJiaoyihuizongWnd::StartRefreshWork, this).detach();
+}
+
+/*
+ *网络请求获取历史订单数据,并且刷新显示
+ **/
+void CJiaoyihuizongWnd::StartRefreshWork()
+{
+	std::map<string, string> params;
+
+	params["start_time"] = m_start_time;
+	params["end_time"] = m_end_time;
+
+	std::string response;
+
+	std::string url = "/saomashoukuan/gettotal";
+	CZhipuziHttpClient::Request(url.c_str(), params, response);
+
+	rapidjson::Document document;
+	document.Parse(response.c_str());
+
+	LOG_INFO(response.c_str());
+
+	if (document.HasParseError())
+	{
+		LOG_INFO("parse response error!");
+		m_is_query = false;
+		return;
+	}
+
+	if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
+	{
+		LOG_INFO("json error!");
+		m_is_query = false;
+		return;
+	}
+
+	rapidjson::Value& v_errcode = document["errcode"];
+	int errcode = v_errcode.GetInt();
+	if (errcode != 0)
+	{
+		LOG_INFO("response failed! message:" << document["errmsg"].GetString());
+		wstring errmsg = CLewaimaiString::UTF8ToUnicode(document["errmsg"].GetString());
+		MessageBox(GetHWND(), errmsg.c_str(), L"提示", MB_OK);
+		m_is_query = false;
+		return;
+	}
+
+	rapidjson::Value& data = document["data"];
+
+	std::string weixin_value = data["weixin_value"].GetString();
+	std::string weixin_num = data["weixin_num"].GetString();
+
+	std::string zhifubao_value = data["zhifubao_value"].GetString();
+	std::string zhifubao_num = data["zhifubao_num"].GetString();
+
+	std::string yunshanfu_value = data["yunshanfu_value"].GetString();
+	std::string yunshanfu_num = data["yunshanfu_num"].GetString();
+
+	std::string tuikuan_value = data["tuikuan_value"].GetString();
+	std::string tuikuan_num = data["tuikuan_num"].GetString();
+
+	CLabelUI* weixinNum = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_weixin_num")));
+	CLabelUI* weixinValue = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_weixin_value")));
+	weixinNum->SetText((CLewaimaiString::UTF8ToUnicode(weixin_num) + L"笔").c_str());
+	weixinValue->SetText((CLewaimaiString::UTF8ToUnicode(weixin_value) + L"元").c_str());
+
+	CLabelUI* zhifubaoNum = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_zhifubao_num")));
+	CLabelUI* zhifubaoValue = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_zhifubao_value")));
+	zhifubaoNum->SetText((CLewaimaiString::UTF8ToUnicode(zhifubao_num) + L"笔").c_str());
+	zhifubaoValue->SetText((CLewaimaiString::UTF8ToUnicode(zhifubao_value) + L"元").c_str());
+
+	CLabelUI* yunshanfuNum = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_yunshanfu_num")));
+	CLabelUI* yunshanfuValue = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_yunshanfu_value")));
+	yunshanfuNum->SetText((CLewaimaiString::UTF8ToUnicode(yunshanfu_num) + L"笔").c_str());
+	yunshanfuValue->SetText((CLewaimaiString::UTF8ToUnicode(yunshanfu_value) + L"元").c_str());
+
+	CLabelUI* tuikuanNum = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_tuikuan_num")));
+	CLabelUI* tuikuanValue = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoyihuizong_tuikuan_value")));
+	tuikuanNum->SetText((CLewaimaiString::UTF8ToUnicode(tuikuan_num) + L"笔").c_str());
+	tuikuanValue->SetText((CLewaimaiString::UTF8ToUnicode(tuikuan_value) + L"元").c_str());
+
+	m_is_query = false;
+}

+ 91 - 0
zhipuzi_pay_plugin/wnd/CJiaoyihuizongWnd.h

@@ -0,0 +1,91 @@
+#pragma once
+
+#include "../helper/WndHelper.h"
+
+#include "CDingweiWnd.h"
+
+class CValueWnd;
+
+class CJiaoyihuizongWnd : public CWindowWnd, public INotifyUI, public IMessageFilterUI
+{
+public:
+	CJiaoyihuizongWnd(CValueWnd* value)
+	{
+		m_valueWnd = value;
+	}
+
+	LPCTSTR GetWindowClassName() const
+	{
+		return _T("UIJiaoyihuizongFrame");
+	};
+
+	UINT GetClassStyle() const
+	{
+		return UI_CLASSSTYLE_DIALOG;
+	};
+
+	void OnFinalMessage(HWND /*hWnd*/)
+	{
+		//WindowImplBase::OnFinalMessage(hWnd);
+		m_pm.RemovePreMessageFilter(this);
+		delete this;
+	};
+
+	void Init();
+
+	void OnPrepare()
+	{
+
+	}
+
+	void Notify(TNotifyUI& msg);
+
+	void HandleClickMsg(TNotifyUI& msg);
+	void HandleSelectChangeMsg(TNotifyUI& msg);
+	void HandleItemSelectMsg(TNotifyUI& msg);
+
+	LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+
+	LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+	{
+		if (::IsIconic(*this))
+		{
+			bHandled = FALSE;
+		}
+		return (wParam == 0) ? TRUE : FALSE;
+	}
+
+	LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+	{
+		return 0;
+	}
+
+	LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+	{
+		return 0;
+	}
+
+	LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+
+	LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+
+	LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+	LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
+
+	void StartQuery();
+
+	void StartRefreshWork();
+
+public:
+	CPaintManagerUI m_pm;
+
+private:
+	CValueWnd* m_valueWnd;
+
+	std::string m_start_time;
+	std::string m_end_time;
+
+	int m_is_query = false;
+};
+

+ 4 - 0
zhipuzi_pay_plugin/wnd/CMenuWnd.cpp

@@ -51,6 +51,10 @@ void CMenuWnd::Notify(TNotifyUI& msg)
 		{
 			m_valueWnd->ShowJiaoyijilu();
 		}
+		else if (name == L"value_menu_jiaoyihuizong")
+		{
+			m_valueWnd->ShowJiaoyihuizong();
+		}
 	}
 }
 

+ 36 - 0
zhipuzi_pay_plugin/wnd/CValueWnd.cpp

@@ -774,6 +774,42 @@ void CValueWnd::ShowJiaoyijilu()
 	}
 }
 
+void CValueWnd::ShowJiaoyihuizong()
+{
+	//先隐藏目录
+	pMenu->ShowWindow(false);
+
+	//然后判断和显示系统设置
+	if (m_is_show_jiaoyihuizong == true)
+	{
+		return;
+	}
+
+	CJiaoyihuizongWnd* pjiaoyihuizongFrame = new CJiaoyihuizongWnd(this);
+	m_jiaoyihuizongWnd = pjiaoyihuizongFrame;
+
+	if (pjiaoyihuizongFrame != NULL)
+	{
+		m_is_show_jiaoyihuizong = true;
+
+		pjiaoyihuizongFrame->Create(NULL, _T(""), UI_WNDSTYLE_DIALOG, WS_EX_TOOLWINDOW);
+		pjiaoyihuizongFrame->SetIcon(IDI_ICON_DUILIB);
+		pjiaoyihuizongFrame->CenterWindow();
+		UINT ret = pjiaoyihuizongFrame->ShowModal();
+
+		m_is_show_jiaoyihuizong = false;
+
+		if (ret == IDOK)
+		{
+
+		}
+		else if (ret == IDCANCEL)
+		{
+
+		}
+	}
+}
+
 void CValueWnd::UpdateKexian(const char* data, int length)
 {
     std::string new_data = data;

+ 8 - 0
zhipuzi_pay_plugin/wnd/CValueWnd.h

@@ -6,6 +6,7 @@
 #include "CMenuWnd.h"
 #include "CSystemSettingWnd.h"
 #include "CJiaoyijiluWnd.h"
+#include "CJiaoyihuizongWnd.h"
 #include "CDingweiInfoWnd.h"
 #include "COcrWnd.h"
 
@@ -81,6 +82,9 @@ public:
 	//显示交易记录页面
 	void ShowJiaoyijilu();
 
+	//显示交易汇总页面
+	void ShowJiaoyihuizong();
+
 	void Init();
 
 	void TopMostWnd();
@@ -142,6 +146,10 @@ private:
 	bool m_is_show_jiaoyijilu = false;
 	CJiaoyijiluWnd* m_jiaoyijiluWnd;
 
+	//交易汇总窗口是否已经显示
+	bool m_is_show_jiaoyihuizong = false;
+	CJiaoyihuizongWnd* m_jiaoyihuizongWnd;
+
 	//默认监听的模式
 	int m_nWatchType = -1;
 

+ 2 - 0
zhipuzi_pay_plugin/zhipuzi_pay_plugin.vcxproj

@@ -223,6 +223,7 @@ copy $(ProjectDir)conf\ $(SolutionDir)bin\$(Platform)\$(Configuration)\conf\</Co
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <ClInclude Include="wnd\CJiaoyihuizongWnd.h" />
     <ClInclude Include="wnd\CJiaoyijiluWnd.h" />
     <ClInclude Include="control\CMenuItemUI.h" />
     <ClInclude Include="wnd\CTuikuanWnd.h" />
@@ -269,6 +270,7 @@ copy $(ProjectDir)conf\ $(SolutionDir)bin\$(Platform)\$(Configuration)\conf\</Co
     <ClInclude Include="control\OrderListUI.h" />
   </ItemGroup>
   <ItemGroup>
+    <ClCompile Include="wnd\CJiaoyihuizongWnd.cpp" />
     <ClCompile Include="wnd\CJiaoyijiluWnd.cpp" />
     <ClCompile Include="control\CMenuItemUI.cpp" />
     <ClCompile Include="wnd\CTuikuanWnd.cpp" />

+ 6 - 0
zhipuzi_pay_plugin/zhipuzi_pay_plugin.vcxproj.filters

@@ -147,6 +147,9 @@
     <ClInclude Include="wnd\CJiaoyijiluWnd.h">
       <Filter>头文件</Filter>
     </ClInclude>
+    <ClInclude Include="wnd\CJiaoyihuizongWnd.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="pch\pch.cpp">
@@ -272,6 +275,9 @@
     <ClCompile Include="wnd\CJiaoyijiluWnd.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
+    <ClCompile Include="wnd\CJiaoyihuizongWnd.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <Image Include="resource\zhipuzi.ico">