|
|
@@ -4074,6 +4074,13 @@ static void serviceManagement(void *conn)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ GroupInfo *node;
|
|
|
+ GroupInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &group_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
ack_str = ctrl_sts_ack_to_json();
|
|
|
}
|
|
|
else if (strcmp(_serviceManageRequestInfo.type, "listFzQuery") == 0) // 分组查询
|
|
|
@@ -4086,6 +4093,48 @@ static void serviceManagement(void *conn)
|
|
|
// 返回分组信息
|
|
|
ack_str = service_group_ack_to_json(&group_list);
|
|
|
}
|
|
|
+ GroupInfo *node;
|
|
|
+ GroupInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &group_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (strcmp(_serviceManageRequestInfo.type, "updateFz") == 0) // 分组修改
|
|
|
+ {
|
|
|
+ if (_serviceManageRequestInfo._group_info.opergroupid && _serviceManageRequestInfo._group_info.updategroupName)
|
|
|
+ {
|
|
|
+ int ngroup = atoi(_serviceManageRequestInfo._group_info.opergroupid);
|
|
|
+ // 查询分组信息
|
|
|
+ GroupInfo group_list;
|
|
|
+ INIT_LIST_HEAD(&group_list.list);
|
|
|
+ if (0 == dev_get_group_info(__globalDeviceManage.db, &group_list))
|
|
|
+ {
|
|
|
+ GroupInfo *_GroupInfoTemp = NULL;
|
|
|
+ list_for_each_entry(_GroupInfoTemp, &group_list.list, list)
|
|
|
+ {
|
|
|
+ if (_GroupInfoTemp->GroupID == ngroup)
|
|
|
+ {
|
|
|
+ strncpy(_GroupInfoTemp->GroupName, _serviceManageRequestInfo._group_info.updategroupName, sizeof(_GroupInfoTemp->GroupName)-1);
|
|
|
+ _GroupInfoTemp->GroupName[sizeof(_GroupInfoTemp->GroupName) - 1] = '\0';
|
|
|
+ dev_update_group_info(__globalDeviceManage.db, _GroupInfoTemp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ GroupInfo *node;
|
|
|
+ GroupInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &group_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
+ char temp[100];
|
|
|
+ // sprintf(temp, "$打开$|$分组$|%d", ngroup);
|
|
|
+ sprintf(temp, "Update group %d", ngroup);
|
|
|
+ dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, temp);
|
|
|
+ }
|
|
|
+ ack_str = ctrl_sts_ack_to_json();
|
|
|
}
|
|
|
else if (strcmp(_serviceManageRequestInfo.type, "fzOpen") == 0) // 分组开
|
|
|
{
|
|
|
@@ -4181,6 +4230,13 @@ static void serviceManagement(void *conn)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ GroupInfo *node;
|
|
|
+ GroupInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &group_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
char temp[100];
|
|
|
//sprintf(temp, "$打开$|$分组$|%d", ngroup);
|
|
|
sprintf(temp, "Open group %d", ngroup);
|
|
|
@@ -4284,6 +4340,13 @@ static void serviceManagement(void *conn)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ GroupInfo *node;
|
|
|
+ GroupInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &group_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
char temp[100];
|
|
|
// sprintf(temp, "$关闭$|$分组$|%d", ngroup);
|
|
|
sprintf(temp, "Close group %d", ngroup);
|
|
|
@@ -4335,7 +4398,22 @@ static void systemManagent(void *conn)
|
|
|
ack_str = service_userRole_ack_to_json(nName,&User_list, &Role_list);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ UserInfo *node;
|
|
|
+ UserInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &User_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
+
|
|
|
+ RoleInfo *node1;
|
|
|
+ RoleInfo *next1;
|
|
|
+ list_for_each_entry_safe(node1, next1, &Role_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node1->list);
|
|
|
+ free(node1);
|
|
|
+ }
|
|
|
}
|
|
|
//查询用户列表
|
|
|
else if(strcmp(_UserRoleManageRequestInfo.type,"listUserQuery")==0)
|
|
|
@@ -4357,6 +4435,21 @@ static void systemManagent(void *conn)
|
|
|
ack_str = service_userQuery_ack_to_json(nName, &User_list, &Role_list);
|
|
|
}
|
|
|
}
|
|
|
+ UserInfo *node;
|
|
|
+ UserInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &User_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
+
|
|
|
+ RoleInfo *node1;
|
|
|
+ RoleInfo *next1;
|
|
|
+ list_for_each_entry_safe(node1, next1, &Role_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node1->list);
|
|
|
+ free(node1);
|
|
|
+ }
|
|
|
}
|
|
|
//删除用户
|
|
|
else if(strcmp(_UserRoleManageRequestInfo.type,"deleteUser")==0)
|
|
|
@@ -4384,6 +4477,13 @@ static void systemManagent(void *conn)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ UserInfo *node;
|
|
|
+ UserInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &User_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
+ }
|
|
|
}
|
|
|
if (!CurUserFlag)
|
|
|
{
|
|
|
@@ -4418,6 +4518,7 @@ static void systemManagent(void *conn)
|
|
|
new_user->product_id = __globalDeviceManage._globalDevInfo.product_id;
|
|
|
|
|
|
int nMaxUserNum=1;
|
|
|
+ bool existFlag=false;
|
|
|
UserInfo User_list;
|
|
|
INIT_LIST_HEAD(&User_list.list);
|
|
|
// 查询角色信息
|
|
|
@@ -4426,7 +4527,6 @@ static void systemManagent(void *conn)
|
|
|
|
|
|
if (0 == dev_get_user_info(__globalDeviceManage.db, &User_list) && 0 == dev_get_role_info(__globalDeviceManage.db, &Role_list))
|
|
|
{
|
|
|
-
|
|
|
UserInfo *_UserInfoTemp = NULL;
|
|
|
list_for_each_entry(_UserInfoTemp, &User_list.list, list)
|
|
|
{
|
|
|
@@ -4437,34 +4537,69 @@ static void systemManagent(void *conn)
|
|
|
{
|
|
|
nMaxUserNum=_UserInfoTemp->userID;
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- new_user->userID = nMaxUserNum+1;
|
|
|
|
|
|
- new_user->userName = malloc(256);
|
|
|
- strcpy(new_user->userName, _UserRoleManageRequestInfo.userName);
|
|
|
- new_user->userPW = malloc(256);
|
|
|
- strcpy(new_user->userPW, _UserRoleManageRequestInfo.password);
|
|
|
- new_user->nickName = malloc(256);
|
|
|
- strcpy(new_user->nickName, _UserRoleManageRequestInfo.nickName);
|
|
|
- new_user->roleID = _UserRoleManageRequestInfo.roleId;//GetRoleIDByName(_UserRoleManageRequestInfo.roleName,&Role_list);
|
|
|
-
|
|
|
- new_user->createTime = malloc(64);
|
|
|
- struct tm *t;
|
|
|
- struct timeval tv;
|
|
|
- gettimeofday(&tv, NULL);
|
|
|
- t = localtime(&tv.tv_sec);
|
|
|
- sprintf(new_user->createTime, "%04d-%02d-%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
|
|
|
+ if (strcmp(_UserInfoTemp->userName, _UserRoleManageRequestInfo.userName) == 0)
|
|
|
+ {
|
|
|
+ existFlag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- dev_insert_user_info(__globalDeviceManage.db, new_user);
|
|
|
+ if (existFlag)
|
|
|
+ {
|
|
|
+ ack_str = ctrl_breaker_err_ack_to_json("User already exists!");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ new_user->userID = nMaxUserNum + 1;
|
|
|
+
|
|
|
+ new_user->userName = malloc(256);
|
|
|
+ strcpy(new_user->userName, _UserRoleManageRequestInfo.userName);
|
|
|
+ new_user->userPW = malloc(256);
|
|
|
+ strcpy(new_user->userPW, _UserRoleManageRequestInfo.password);
|
|
|
+ new_user->nickName = malloc(256);
|
|
|
+ strcpy(new_user->nickName, _UserRoleManageRequestInfo.nickName);
|
|
|
+ new_user->roleID = _UserRoleManageRequestInfo.roleId; // GetRoleIDByName(_UserRoleManageRequestInfo.roleName,&Role_list);
|
|
|
+
|
|
|
+ new_user->createTime = malloc(64);
|
|
|
+ struct tm *t;
|
|
|
+ struct timeval tv;
|
|
|
+ gettimeofday(&tv, NULL);
|
|
|
+ t = localtime(&tv.tv_sec);
|
|
|
+ sprintf(new_user->createTime, "%04d-%02d-%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
|
|
|
+
|
|
|
+ dev_insert_user_info(__globalDeviceManage.db, new_user);
|
|
|
+
|
|
|
+ free(new_user->userName);
|
|
|
+ free(new_user->userPW);
|
|
|
+ free(new_user->nickName);
|
|
|
+ free(new_user->createTime);
|
|
|
+
|
|
|
+ char temp[100];
|
|
|
+ // sprintf(temp, "$添加$|$用户$|%s", _UserRoleManageRequestInfo.userName);
|
|
|
+ sprintf(temp, "Add user %s", _UserRoleManageRequestInfo.userName);
|
|
|
+ dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, temp);
|
|
|
+
|
|
|
+ ack_str=ctrl_sts_ack_to_json();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ free(new_user);
|
|
|
+ UserInfo *node;
|
|
|
+ UserInfo *next;
|
|
|
+ list_for_each_entry_safe(node, next, &User_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node->list);
|
|
|
+ free(node);
|
|
|
}
|
|
|
|
|
|
- char temp[100];
|
|
|
- //sprintf(temp, "$添加$|$用户$|%s", _UserRoleManageRequestInfo.userName);
|
|
|
- sprintf(temp, "Add user %s", _UserRoleManageRequestInfo.userName);
|
|
|
- dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, temp);
|
|
|
-
|
|
|
- ack_str=ctrl_sts_ack_to_json();
|
|
|
+ RoleInfo *node1;
|
|
|
+ RoleInfo *next1;
|
|
|
+ list_for_each_entry_safe(node1, next1, &Role_list.list, list)
|
|
|
+ {
|
|
|
+ list_del(&node1->list);
|
|
|
+ free(node1);
|
|
|
+ }
|
|
|
}
|
|
|
//更新用户信息
|
|
|
else if(strcmp(_UserRoleManageRequestInfo.type,"updateUser")==0)
|
|
|
@@ -4487,14 +4622,20 @@ static void systemManagent(void *conn)
|
|
|
|
|
|
dev_update_user_info(__globalDeviceManage.db, new_user);
|
|
|
|
|
|
+ free(new_user->userName);
|
|
|
+ free(new_user->userPW);
|
|
|
+ free(new_user->nickName);
|
|
|
+ free(new_user->createTime);
|
|
|
+ free(new_user);
|
|
|
char temp[100];
|
|
|
//sprintf(temp, "$修改$|$用户$|%s", _UserRoleManageRequestInfo.userName);
|
|
|
sprintf(temp, "Update user %s", _UserRoleManageRequestInfo.userName);
|
|
|
dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, temp);
|
|
|
|
|
|
ack_str=ctrl_sts_ack_to_json();
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
cJSON_Delete(cjson);
|
|
|
http_reply(conn, 200, ack_str);
|
|
|
cJSON_free((void*)ack_str);
|