Skip to content

Commit 1d5e71b

Browse files
committed
added:register and unregister http pass functions
1 parent 0d5061d commit 1d5e71b

File tree

1 file changed

+67
-20
lines changed

1 file changed

+67
-20
lines changed

XEngine_Source/XEngine_MQServiceApp/MQService_TCPTask.cpp

Lines changed: 67 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ BOOL MessageQueue_TCP_Handle(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszC
117117

118118
st_HTTPParament.nTimeConnect = 2;
119119

120-
ProtocolModule_Packet_PassAuth(&st_ProtocolAuth, tszSDBuffer, &nSDLen);
120+
ProtocolModule_Packet_PassAuth(&st_ProtocolAuth, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSERLOG);
121121
APIHelp_HttpRequest_Custom(_T("POST"), st_ServiceCfg.st_XPass.tszPassLogin, tszSDBuffer, &nHTTPCode, &ptszSDBuffer, &nSDLen, NULL, NULL, &st_HTTPParament);
122122
if (200 != nHTTPCode)
123123
{
124124
pSt_ProtocolHdr->wReserve = 701;
125125
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
126126
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
127-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求远程验证失败,错误:%lX,HTTPCode:"), lpszClientType, lpszClientAddr, APIHelp_GetLastError(), nHTTPCode);
127+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求远程验证失败,错误:%lX,HTTPCode:%d"), lpszClientType, lpszClientAddr, APIHelp_GetLastError(), nHTTPCode);
128128
return FALSE;
129129
}
130130
ProtocolModule_Parse_Http(ptszSDBuffer, nSDLen, NULL, &ptszRVBuffer, &nRVLen);
@@ -167,21 +167,44 @@ BOOL MessageQueue_TCP_Handle(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszC
167167

168168
memcpy(&st_UserInfo, lpszMsgBuffer, sizeof(XENGINE_PROTOCOL_USERINFO));
169169
pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REPUSERREG;
170-
if (DBModule_MQUser_UserQuery(&st_UserInfo))
170+
//是否需要代理处理
171+
if (_tcslen(st_ServiceCfg.st_XPass.tszPassRegister) > 0)
171172
{
172-
pSt_ProtocolHdr->wReserve = 721;
173-
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
174-
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
175-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求用户注册失败,用户已经存在,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
176-
return FALSE;
173+
int nHTTPCode = 0;
174+
APIHELP_HTTPPARAMENT st_HTTPParament;
175+
memset(&st_HTTPParament, '\0', sizeof(APIHELP_HTTPPARAMENT));
176+
177+
st_HTTPParament.nTimeConnect = 2;
178+
179+
ProtocolModule_Packet_PassUser(&st_UserInfo, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSERREG);
180+
APIHelp_HttpRequest_Custom(_T("POST"), st_ServiceCfg.st_XPass.tszPassRegister, tszSDBuffer, &nHTTPCode, NULL, NULL, NULL, NULL, &st_HTTPParament);
181+
if (200 != nHTTPCode)
182+
{
183+
pSt_ProtocolHdr->wReserve = 701;
184+
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
185+
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
186+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求远程注册失败,错误:%lX,HTTPCode:%d"), lpszClientType, lpszClientAddr, APIHelp_GetLastError(), nHTTPCode);
187+
return FALSE;
188+
}
177189
}
178-
if (!DBModule_MQUser_UserInsert(&st_UserInfo))
190+
else
179191
{
180-
pSt_ProtocolHdr->wReserve = 722;
181-
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
182-
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
183-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求用户注册失败,插入数据库失败,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
184-
return FALSE;
192+
if (DBModule_MQUser_UserQuery(&st_UserInfo))
193+
{
194+
pSt_ProtocolHdr->wReserve = 721;
195+
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
196+
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
197+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求用户注册失败,用户已经存在,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
198+
return FALSE;
199+
}
200+
if (!DBModule_MQUser_UserInsert(&st_UserInfo))
201+
{
202+
pSt_ProtocolHdr->wReserve = 722;
203+
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
204+
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
205+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求用户注册失败,插入数据库失败,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
206+
return FALSE;
207+
}
185208
}
186209
pSt_ProtocolHdr->wReserve = 0;
187210
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
@@ -195,14 +218,38 @@ BOOL MessageQueue_TCP_Handle(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszC
195218

196219
memcpy(&st_UserInfo, lpszMsgBuffer, sizeof(XENGINE_PROTOCOL_USERINFO));
197220
pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REPUSERDEL;
198-
if (!DBModule_MQUser_UserDelete(&st_UserInfo))
221+
222+
if (_tcslen(st_ServiceCfg.st_XPass.tszPassUNReg) > 0)
199223
{
200-
pSt_ProtocolHdr->wReserve = 721;
201-
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
202-
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
203-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求用户删除失败,删除数据库失败,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
204-
return FALSE;
224+
int nHTTPCode = 0;
225+
APIHELP_HTTPPARAMENT st_HTTPParament;
226+
memset(&st_HTTPParament, '\0', sizeof(APIHELP_HTTPPARAMENT));
227+
228+
st_HTTPParament.nTimeConnect = 2;
229+
230+
ProtocolModule_Packet_PassUser(&st_UserInfo, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSERDEL);
231+
APIHelp_HttpRequest_Custom(_T("POST"), st_ServiceCfg.st_XPass.tszPassUNReg, tszSDBuffer, &nHTTPCode, NULL, NULL, NULL, NULL, &st_HTTPParament);
232+
if (200 != nHTTPCode)
233+
{
234+
pSt_ProtocolHdr->wReserve = 701;
235+
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
236+
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
237+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求远程注销失败,错误:%lX,HTTPCode:%d"), lpszClientType, lpszClientAddr, APIHelp_GetLastError(), nHTTPCode);
238+
return FALSE;
239+
}
240+
}
241+
else
242+
{
243+
if (!DBModule_MQUser_UserDelete(&st_UserInfo))
244+
{
245+
pSt_ProtocolHdr->wReserve = 721;
246+
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
247+
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
248+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("%s客户端:%s,请求用户删除失败,删除数据库失败,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
249+
return FALSE;
250+
}
205251
}
252+
206253
pSt_ProtocolHdr->wReserve = 0;
207254
XENGINE_DBUSERKEY st_UserKey;
208255
memset(&st_UserKey, '\0', sizeof(XENGINE_DBUSERKEY));

0 commit comments

Comments
 (0)