@@ -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