Skip to content

Commit 2808e7a

Browse files
committed
added:delete user for http management
1 parent bcd7cdb commit 2808e7a

File tree

2 files changed

+52
-2
lines changed

2 files changed

+52
-2
lines changed

XEngine_Source/MQCore_DBModule/DBModule_MQUser/DBModule_MQUser.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,14 @@ bool CDBModule_MQUser::DBModule_MQUser_UserQuery(XENGINE_PROTOCOL_USERINFO* pSt_
176176
XCHAR tszSQLStatement[1024];
177177
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
178178

179-
_xstprintf(tszSQLStatement, _X("SELECT * FROM `UserInfo` WHERE tszUserName = '%s' AND tszUserPass = '%s'"), pSt_UserInfo->tszUserName, pSt_UserInfo->tszUserPass);
179+
if (_tcsxlen(pSt_UserInfo->tszUserPass) > 0)
180+
{
181+
_xstprintf(tszSQLStatement, _X("SELECT * FROM `UserInfo` WHERE tszUserName = '%s' AND tszUserPass = '%s'"), pSt_UserInfo->tszUserName, pSt_UserInfo->tszUserPass);
182+
}
183+
else
184+
{
185+
_xstprintf(tszSQLStatement, _X("SELECT * FROM `UserInfo` WHERE tszUserName = '%s'"), pSt_UserInfo->tszUserName);
186+
}
180187
if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow))
181188
{
182189
DBModule_IsErrorOccur = true;

XEngine_Source/XEngine_MQServiceApp/MQService_HttpTask.cpp

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ bool MessageQueue_Http_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST
5555
LPCXSTR lpszAPIUser = _X("user");
5656
LPCXSTR lpszAPITopic = _X("topic");
5757
LPCXSTR lpszAPIOnline = _X("online");
58+
LPCXSTR lpszAPIDelete = _X("delete");
5859

5960
int nUrlCount = 0;
6061
XCHAR** ppSt_ListUrl;
@@ -156,10 +157,52 @@ bool MessageQueue_Http_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST
156157
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,发送的获取主题列表请求成功,获取到的主题消息个数:%d"), lpszClientAddr, nDBCount);
157158
}
158159
}
160+
else if (0 == _tcsxnicmp(lpszAPIDelete, tszValue, _tcsxlen(lpszAPIDelete)))
161+
{
162+
//http://127.0.0.1:5202/api?function=delete&type=0&name=comm
163+
164+
memset(tszValue, '\0', MAX_PATH);
165+
BaseLib_String_GetKeyValue(ppSt_ListUrl[nMethodPos + 2], _X("="), tszKey, tszValue);
166+
if (0 == _ttxoi(tszValue))
167+
{
168+
//type = 0 删除主题
169+
memset(tszValue, '\0', MAX_PATH);
170+
BaseLib_String_GetKeyValue(ppSt_ListUrl[nMethodPos + 3], _X("="), tszKey, tszValue);
171+
}
172+
else
173+
{
174+
// 删除用户
175+
memset(tszValue, '\0', MAX_PATH);
176+
BaseLib_String_GetKeyValue(ppSt_ListUrl[nMethodPos + 3], _X("="), tszKey, tszValue);
177+
178+
XENGINE_PROTOCOL_USERINFO st_UserInfo = {};
179+
XENGINE_DBUSERKEY st_UserKey = {};
180+
XENGINE_DBTOPICOWNER st_DBOwner = {};
181+
182+
_tcsxcpy(st_UserInfo.tszUserName, tszValue);
183+
_tcsxcpy(st_UserKey.tszUserName, tszValue);
184+
_tcsxcpy(st_DBOwner.tszUserName, tszValue);
185+
186+
if (!DBModule_MQUser_UserQuery(&st_UserInfo))
187+
{
188+
ProtocolModule_Packet_Http(tszPKTBuffer, &nPKTLen, ERROR_XENGINE_MESSAGE_AUTH_USERPASS, "user name not found");
189+
XEngine_MQXService_Send(lpszClientAddr, tszPKTBuffer, nPKTLen, XENGINE_MQAPP_NETTYPE_HTTP);
190+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求HTTP删除用户失败,用户不存在:%s"), lpszClientAddr, st_UserInfo.tszUserName);
191+
return false;
192+
}
193+
DBModule_MQUser_UserDelete(&st_UserInfo);
194+
DBModule_MQUser_KeyDelete(&st_UserKey);
195+
DBModule_MQUser_OwnerDelete(&st_DBOwner);
196+
197+
ProtocolModule_Packet_Http(tszPKTBuffer, &nPKTLen);
198+
XEngine_MQXService_Send(lpszClientAddr, tszPKTBuffer, nPKTLen, XENGINE_MQAPP_NETTYPE_HTTP);
199+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求用户删除成功,用户名:%s"), lpszClientAddr, st_UserInfo.tszUserName);
200+
}
201+
}
159202
}
160203
else
161204
{
162-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP消息端:%s,协议错误"), lpszClientAddr);
205+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,协议错误"), lpszClientAddr);
163206
}
164207
return true;
165208
}

0 commit comments

Comments
 (0)