Skip to content

Commit 5af32c6

Browse files
committed
added:post process code for app
1 parent 0bd4e6d commit 5af32c6

File tree

10 files changed

+101
-7
lines changed

10 files changed

+101
-7
lines changed

XEngine_Source/Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ PLUGIN_MODULE_ZODIAC = ./XEngine_PluginModule/ModulePlugin_Zodiac
1616
PLUGIN_MODULE_PASSWORD = ./XEngine_PluginModule/ModulePlugin_Password
1717
PLUGIN_MODULE_TIMEZONE = ./XEngine_PluginModule/ModulePlugin_Timezone
1818
PLUGIN_MODULE_BMINDEX = ./XEngine_PluginModule/ModulePlugin_BMIndex
19+
PLUGIN_MODULE_METER = ./XEngine_PluginModule/ModulePlugin_Meter
1920

2021
APP_CENTER_PATH = ./XEngine_ServiceApp/XEngine_CenterApp
2122
APP_HTTP_PATH = ./XEngine_ServiceApp/XEngine_HttpApp
2223

2324
XENGINE_MODULES = libjsoncpp.so \
2425
libXEngine_ModuleConfigure.so libXEngine_ModuleDatabase.so libXEngine_ModuleProtocol.so libXEngine_ModuleHelp.so libXEngine_ModulePlugin.so \
25-
libModulePlugin_Zodiac.so libModulePlugin_Password.so libModulePlugin_Timezone.so libModulePlugin_BMIndex.so\
26+
libModulePlugin_Zodiac.so libModulePlugin_Password.so libModulePlugin_Timezone.so libModulePlugin_BMIndex.so libModulePlugin_Meter.so \
2627
XEngine_HttpApp.exe
2728

2829
.PHONY:MakeAll
@@ -50,6 +51,8 @@ libModulePlugin_Timezone.so:
5051
make -C $(PLUGIN_MODULE_TIMEZONE) $(FLAGS)
5152
libModulePlugin_BMIndex.so:
5253
make -C $(PLUGIN_MODULE_BMINDEX) $(FLAGS)
54+
libModulePlugin_Meter.so:
55+
make -C $(PLUGIN_MODULE_METER) $(FLAGS)
5356

5457
XEngine_HttpApp.exe:
5558
make -C $(APP_HTTP_PATH) $(FLAGS)

XEngine_Source/XEngine.sln

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_ModulePlugin", "XEn
2828
EndProject
2929
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XEngine_PluginModule", "XEngine_PluginModule", "{D0473C03-9464-4C44-818A-AE212680CD05}"
3030
EndProject
31-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModulePlugin_Zodiac", "XEngine_PluginModule\ModulePlugin_Zodiac\ModulePlugin_Zodiac.vcxproj", "{32BB166A-3D3D-45EF-8BED-2E0471274159}"
31+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Zodiac", "XEngine_PluginModule\ModulePlugin_Zodiac\ModulePlugin_Zodiac.vcxproj", "{32BB166A-3D3D-45EF-8BED-2E0471274159}"
3232
EndProject
33-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModulePlugin_Password", "XEngine_PluginModule\ModulePlugin_Password\ModulePlugin_Password.vcxproj", "{201B6D13-82A7-49E9-9736-D6B3BFE05B30}"
33+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Password", "XEngine_PluginModule\ModulePlugin_Password\ModulePlugin_Password.vcxproj", "{201B6D13-82A7-49E9-9736-D6B3BFE05B30}"
3434
EndProject
35-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModulePlugin_Timezone", "XEngine_PluginModule\ModulePlugin_Timezone\ModulePlugin_Timezone.vcxproj", "{37B8E91F-EC52-41F0-B21D-441D4270C05F}"
35+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Timezone", "XEngine_PluginModule\ModulePlugin_Timezone\ModulePlugin_Timezone.vcxproj", "{37B8E91F-EC52-41F0-B21D-441D4270C05F}"
3636
EndProject
37-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModulePlugin_BMIndex", "XEngine_PluginModule\ModulePlugin_BMIndex\ModulePlugin_BMIndex.vcxproj", "{BBC4B2B4-1143-45DF-8890-47CE26A61D0E}"
37+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_BMIndex", "XEngine_PluginModule\ModulePlugin_BMIndex\ModulePlugin_BMIndex.vcxproj", "{BBC4B2B4-1143-45DF-8890-47CE26A61D0E}"
38+
EndProject
39+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Meter", "XEngine_PluginModule\ModulePlugin_Meter\ModulePlugin_Meter.vcxproj", "{6F111577-DAF8-4294-B516-0077C22D7613}"
3840
EndProject
3941
Global
4042
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -132,6 +134,14 @@ Global
132134
{BBC4B2B4-1143-45DF-8890-47CE26A61D0E}.Release|x64.Build.0 = Release|x64
133135
{BBC4B2B4-1143-45DF-8890-47CE26A61D0E}.Release|x86.ActiveCfg = Release|Win32
134136
{BBC4B2B4-1143-45DF-8890-47CE26A61D0E}.Release|x86.Build.0 = Release|Win32
137+
{6F111577-DAF8-4294-B516-0077C22D7613}.Debug|x64.ActiveCfg = Debug|x64
138+
{6F111577-DAF8-4294-B516-0077C22D7613}.Debug|x64.Build.0 = Debug|x64
139+
{6F111577-DAF8-4294-B516-0077C22D7613}.Debug|x86.ActiveCfg = Debug|Win32
140+
{6F111577-DAF8-4294-B516-0077C22D7613}.Debug|x86.Build.0 = Debug|Win32
141+
{6F111577-DAF8-4294-B516-0077C22D7613}.Release|x64.ActiveCfg = Release|x64
142+
{6F111577-DAF8-4294-B516-0077C22D7613}.Release|x64.Build.0 = Release|x64
143+
{6F111577-DAF8-4294-B516-0077C22D7613}.Release|x86.ActiveCfg = Release|Win32
144+
{6F111577-DAF8-4294-B516-0077C22D7613}.Release|x86.Build.0 = Release|Win32
135145
EndGlobalSection
136146
GlobalSection(SolutionProperties) = preSolution
137147
HideSolutionNode = FALSE
@@ -143,6 +153,7 @@ Global
143153
{201B6D13-82A7-49E9-9736-D6B3BFE05B30} = {D0473C03-9464-4C44-818A-AE212680CD05}
144154
{37B8E91F-EC52-41F0-B21D-441D4270C05F} = {D0473C03-9464-4C44-818A-AE212680CD05}
145155
{BBC4B2B4-1143-45DF-8890-47CE26A61D0E} = {D0473C03-9464-4C44-818A-AE212680CD05}
156+
{6F111577-DAF8-4294-B516-0077C22D7613} = {D0473C03-9464-4C44-818A-AE212680CD05}
146157
EndGlobalSection
147158
GlobalSection(ExtensibilityGlobals) = postSolution
148159
SolutionGuid = {9B202F91-A601-429E-BB0F-880DDEE096FE}

XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ZIPCode/ModuleDatabase_ZIPCode.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ BOOL CModuleDatabase_ZIPCode::ModuleDatabase_ZIPCode_QueryZIPCode(XENGINE_ZIPINF
115115
}
116116
else if (2 == pSt_ZIPInfo->nLevel)
117117
{
118-
int nParentID = 0;
119118
_tcscpy(pSt_ZIPInfo->tszCity, pptszResult[nFliedValue + 2]);
120119
ModuleDatabase_ZIPCode_QueryParentByID(_ttoi(pptszResult[nFliedValue + 1]), pSt_ZIPInfo->tszProvincer);
121120
}

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool
1010
LIBEX = -ldl -lpthread
1111
LOADSO = -Wl,-rpath=./,--disable-new-dtags
1212
LIBINCLUDE = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_PluginTask.o XEngine_HttpApp.o \
13-
HTTPTask_IPInfo.o HTTPTask_IDCard.o HTTPTask_Phone.o HTTPTask_Bank.o HTTPTask_Language.o HTTPTask_Translation.o HTTPTask_P2PClient.o HTTPTask_OPtions.o HTTPTask_CDKey.o HTTPTask_Locker.o
13+
HTTPTask_IPInfo.o HTTPTask_IDCard.o HTTPTask_Phone.o HTTPTask_Bank.o HTTPTask_Language.o HTTPTask_Translation.o HTTPTask_P2PClient.o HTTPTask_OPtions.o HTTPTask_CDKey.o HTTPTask_Locker.o HTTPTask_PostCode.o
1414

1515
ifeq ($(shell uname),Darwin)
1616
LOADSO =
@@ -62,6 +62,8 @@ HTTPTask_CDKey.o:./XEngine_HTTPTask/HTTPTask_CDKey.cpp
6262
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./XEngine_HTTPTask/HTTPTask_CDKey.cpp
6363
HTTPTask_Locker.o:./XEngine_HTTPTask/HTTPTask_Locker.cpp
6464
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./XEngine_HTTPTask/HTTPTask_Locker.cpp
65+
HTTPTask_PostCode.o:./XEngine_HTTPTask/HTTPTask_PostCode.cpp
66+
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./XEngine_HTTPTask/HTTPTask_PostCode.cpp
6567

6668
XEngine_HttpApp.o:./XEngine_HttpApp.cpp
6769
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./XEngine_HttpApp.cpp

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ BOOL XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCTSTR
101101
//post
102102
LPCTSTR lpszParamP2PClient = _T("p2p");
103103
LPCTSTR lpszParamCDKey = _T("cdkey");
104+
LPCTSTR lpszParamZIPCode = _T("zipcode");
104105

105106
memset(tszKey, '\0', sizeof(tszKey));
106107
memset(tszValue, '\0', sizeof(tszValue));
@@ -178,6 +179,23 @@ BOOL XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCTSTR
178179
XEngine_HTTPTask_CDKey(lpszClientAddr, lpszRVBuffer, nRVLen, nOPType);
179180
}
180181
}
182+
else if (0 == _tcsnicmp(lpszParamZIPCode, tszValue, _tcslen(lpszParamZIPCode)))
183+
{
184+
//邮政信息:http://app.xyry.org:5501/api?function=zipcode&params1=0
185+
memset(tszKey, '\0', sizeof(tszKey));
186+
memset(tszValue, '\0', sizeof(tszValue));
187+
BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue);
188+
if (0 != _tcsnicmp(lpszParamName, tszKey, _tcslen(lpszParamName)))
189+
{
190+
st_HDRParam.nHttpCode = 404;
191+
RfcComponents_HttpServer_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam);
192+
XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen);
193+
BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount);
194+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri);
195+
return FALSE;
196+
}
197+
XEngine_HTTPTask_PostCode(lpszClientAddr, lpszRVBuffer, nRVLen, _ttoi(tszValue));
198+
}
181199
}
182200
else if (0 == _tcsnicmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodGet)))
183201
{
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include "../XEngine_Hdr.h"
2+
3+
BOOL XEngine_HTTPTask_PostCode(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, int nType)
4+
{
5+
int nSDLen = 4096;
6+
int nRVLen = 4096;
7+
TCHAR tszSDBuffer[4096];
8+
TCHAR tszRVBuffer[4096];
9+
XENGINE_ZIPINFO st_ZIPInfo;
10+
RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; //发送给客户端的参数
11+
12+
memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
13+
memset(tszRVBuffer, '\0', sizeof(tszRVBuffer));
14+
memset(&st_ZIPInfo, '\0', sizeof(XENGINE_ZIPINFO));
15+
memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM));
16+
17+
st_HDRParam.nHttpCode = 200; //HTTP CODE码
18+
st_HDRParam.bIsClose = TRUE; //收到回复后就关闭
19+
20+
ModuleProtocol_Parse_ZIPCode(lpszMsgBuffer, nMsgLen, &st_ZIPInfo);
21+
if (0 == nType)
22+
{
23+
ModuleDatabase_ZIPCode_QueryZIPCode(&st_ZIPInfo);
24+
}
25+
else
26+
{
27+
ModuleDatabase_ZIPCode_QueryName(&st_ZIPInfo);
28+
}
29+
30+
ModuleProtocol_Packet_ZIPCode(tszRVBuffer, &nRVLen, &st_ZIPInfo);
31+
RfcComponents_HttpServer_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
32+
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
33+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("HTTP客户端:%s,请求查询邮政编码地址信息查询成功,查询邮编;%d,查询地址:%s"), lpszClientAddr, st_ZIPInfo.nZipCode, st_ZIPInfo.tszCounty);
34+
return TRUE;
35+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#pragma once
2+
3+
BOOL XEngine_HTTPTask_PostCode(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, int nType);

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ using namespace std;
6868
#include "XEngine_HTTPTask/HTTPTask_OPtions.h"
6969
#include "XEngine_HTTPTask/HTTPTask_P2PClient.h"
7070
#include "XEngine_HTTPTask/HTTPTask_CDKey.h"
71+
#include "XEngine_HTTPTask/HTTPTask_PostCode.h"
7172
/********************************************************************
7273
// Created: 2022/01/20 14:42:06
7374
// File Name: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ServiceApp\XEngine_HttpApp\XEngine_Hdr.h

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ void ServiceApp_Stop(int signo)
3939
ModuleDatabase_IDCard_Destory();
4040
ModuleDatabase_Phone_Destory();
4141
ModuleDatabase_Bank_Destory();
42+
ModuleDatabase_ZIPCode_Destory();
4243
//销毁其他
4344
ModulePlugin_Core_Destroy();
4445
ModuleHelp_P2PClient_Destory();
@@ -174,6 +175,13 @@ int main(int argc, char** argv)
174175
goto XENGINE_SERVICEAPP_EXIT;
175176
}
176177
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化银行卡数据库成功,地址:%s"), st_ServiceConfig.st_XApi.tszBankData);
178+
179+
if (!ModuleDatabase_ZIPCode_Init(st_ServiceConfig.st_XApi.tszZIPCodeData))
180+
{
181+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化行政邮编信息数据库失败,错误:%lX"), ModuleDB_GetLastError());
182+
goto XENGINE_SERVICEAPP_EXIT;
183+
}
184+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化行政邮编信息数据库成功,地址:%s"), st_ServiceConfig.st_XApi.tszZIPCodeData);
177185
//启动HTTP服务相关代码
178186
if (st_ServiceConfig.nHttpPort > 0)
179187
{
@@ -293,6 +301,7 @@ int main(int argc, char** argv)
293301
ModuleDatabase_IDCard_Destory();
294302
ModuleDatabase_Phone_Destory();
295303
ModuleDatabase_Bank_Destory();
304+
ModuleDatabase_ZIPCode_Destory();
296305
//销毁其他
297306
ModulePlugin_Core_Destroy();
298307
ModuleHelp_P2PClient_Destory();

XEngine_Source/XEngine_UserProtocol.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,17 @@ typedef struct tag_XEngine_P2XPIO_Protocol
182182
int nDestPort; //要连接的端口
183183
BOOL bIsTcp; //连接类型TCP,否则为UDP
184184
}XENGINE_P2XPIO_PROTOCOL, * LPXENGINE_P2XPIO_PROTOCOL;
185+
//邮编信息
186+
typedef struct
187+
{
188+
TCHAR tszProvincer[64]; //省/自治区/直辖市
189+
TCHAR tszCity[64]; //市/区
190+
TCHAR tszCounty[64]; //县
191+
TCHAR tszPinYin[64]; //拼音
192+
double dlLng; //经度
193+
double dlLat; //纬度
194+
int nZipCode; //邮编
195+
int nAreaCode; //区号
196+
int nLevel; //行政级别
197+
}XENGINE_ZIPINFO;
185198
#pragma pack(pop)

0 commit comments

Comments
 (0)