OCT 1. 获取用户信息接口支持空参数查询所有下挂设备信息
This commit is contained in:
parent
ad06f31aea
commit
af6632c3b5
|
@ -48,6 +48,7 @@ static uv_rwlock_t g_uvCacheLock;
|
||||||
static int dhcp_get_user_info(data19 *req, const char *pRequest) {
|
static int dhcp_get_user_info(data19 *req, const char *pRequest) {
|
||||||
char logBuff[512];
|
char logBuff[512];
|
||||||
const char *pStrContent;
|
const char *pStrContent;
|
||||||
|
int k;
|
||||||
dhcpMap::iterator p;
|
dhcpMap::iterator p;
|
||||||
|
|
||||||
dzlog_debug("Input: %s\n", pRequest);
|
dzlog_debug("Input: %s\n", pRequest);
|
||||||
|
@ -89,17 +90,42 @@ static int dhcp_get_user_info(data19 *req, const char *pRequest) {
|
||||||
return ERR_JSON_PRASE_OBJ;
|
return ERR_JSON_PRASE_OBJ;
|
||||||
}
|
}
|
||||||
|
|
||||||
// cJSON *pRspRoot = cJSON_CreateObject();
|
|
||||||
// cJSON_AddNumberToObject(pRspRoot, "version", 3);
|
|
||||||
// cJSON_AddNumberToObject(pRspRoot, "cryptoType", 0);
|
|
||||||
// cJSON_AddNumberToObject(pRspRoot, "timeStamp", (unsigned int)time(nullptr));
|
|
||||||
|
|
||||||
cJSON *pRspMsg = cJSON_CreateObject();
|
cJSON *pRspMsg = cJSON_CreateObject();
|
||||||
cJSON *pMsgArray = cJSON_CreateArray();
|
cJSON *pMsgArray = cJSON_CreateArray();
|
||||||
|
|
||||||
cJSON_AddItemToObject(pRspMsg, "userInfo", pMsgArray);
|
cJSON_AddItemToObject(pRspMsg, "userInfo", pMsgArray);
|
||||||
|
|
||||||
for (int i = 0; i < cJSON_GetArraySize(pUserMac); i++) {
|
k = cJSON_GetArraySize(pUserMac);
|
||||||
|
|
||||||
|
// 传入数据 userMac 为空数组时,返回所有用户数据
|
||||||
|
if (k == 0) {
|
||||||
|
for (p = dhcpCache.begin(); p != dhcpCache.end(); p++) {
|
||||||
|
char tempbuff[512];
|
||||||
|
data7 *dhcpEntry = p->second;
|
||||||
|
|
||||||
|
if (!dhcpEntry) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
cJSON *pRspItem = cJSON_CreateObject();
|
||||||
|
cJSON_AddStringToObject(pRspItem, "userMac", dhcpEntry->mapname);
|
||||||
|
|
||||||
|
cJSON_AddStringToObject(pRspItem, "ip", IP2String(tempbuff, dhcpEntry->ip));
|
||||||
|
cJSON_AddStringToObject(pRspItem, "hostname", dhcpEntry->hostname);
|
||||||
|
if (dhcpEntry->display && dhcpEntry->expiry >= t) {
|
||||||
|
tm *ttm = localtime(&dhcpEntry->expiry);
|
||||||
|
strftime(tempbuff, sizeof(tempbuff), "%d-%b-%y %X", ttm);
|
||||||
|
cJSON_AddStringToObject(pRspItem, "leaseExpiry", tempbuff);
|
||||||
|
} else {
|
||||||
|
cJSON_AddStringToObject(pRspItem, "leaseExpiry", "Expiry");
|
||||||
|
}
|
||||||
|
cJSON_AddNumberToObject(pRspItem, "status", ERR_SUCCESS);
|
||||||
|
cJSON_AddStringToObject(pRspItem, "message", getErrorEnumDesc(ERR_SUCCESS));
|
||||||
|
|
||||||
|
cJSON_AddItemToArray(pMsgArray, pRspItem);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < k; i++) {
|
||||||
char tempbuff[512];
|
char tempbuff[512];
|
||||||
cJSON *pItem = cJSON_GetArrayItem(pUserMac, i);
|
cJSON *pItem = cJSON_GetArrayItem(pUserMac, i);
|
||||||
cJSON *pRspItem = cJSON_CreateObject();
|
cJSON *pRspItem = cJSON_CreateObject();
|
||||||
|
@ -128,6 +154,7 @@ static int dhcp_get_user_info(data19 *req, const char *pRequest) {
|
||||||
|
|
||||||
cJSON_AddItemToArray(pMsgArray, pRspItem);
|
cJSON_AddItemToArray(pMsgArray, pRspItem);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const char *pStrPro = proto_create_new(pRspMsg, 200);
|
const char *pStrPro = proto_create_new(pRspMsg, 200);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue