ソースを参照

1、修改用户管理界面的挫素功能无效bug;
2、修改用户管理界面的分页功能无效bug;
3、修改新增传感器无法删除的bug

liyuezong 2 年 前
親
コミット
eaf49a3b6b
共有4 個のファイルを変更した、65 個の追加 と 35 個の削除を含む
  1. 16 2
      pro/src/appweb_handle.c
  2. 46 30
      pro/src/json_handle.c
  3. 1 1
      pro/src/json_handle.h
  4. 2 2
      pro/src/sqlite_handle.c

+ 16 - 2
pro/src/appweb_handle.c

@@ -2382,7 +2382,21 @@ static void sensorStatusMonitoring(void* conn)
         memset(_globalSensorMangerTemp, 0, sizeof(GlobalSensorManger));
         //填充数据
         _globalSensorMangerTemp->product_id = __globalDeviceManage._globalDevInfo.product.id ;
-        _globalSensorMangerTemp->sensor_id = _over_all_sensor_request.sensorId;
+
+        int nmaxID=0;
+        lock_s_hold(LOCK_ID_SENSOR);
+        GlobalSensorManger *node;
+        GlobalSensorManger *next;
+        list_for_each_entry_safe(node, next, &__globalDeviceManage._globalSensorManger.list, list)
+        {
+            if (node->sensor_id > nmaxID)
+            {
+                nmaxID = node->sensor_id;
+            }
+        }
+        lock_s_release(LOCK_ID_SENSOR);
+
+        _globalSensorMangerTemp->sensor_id = nmaxID+1;
         strcpy( _globalSensorMangerTemp->sensor_name,_over_all_sensor_request.sensorName);
 
         if(_over_all_sensor_request.sensorType && strlen(_over_all_sensor_request.sensorType)) {
@@ -4802,7 +4816,7 @@ static void systemManagent(void *conn)
             char *nName = getUserNamebyToken(_UserRoleManageRequestInfo.user_token);
             if (nName != NULL)
             {
-                ack_str = service_userQuery_ack_to_json(nName, &User_list, &Role_list);
+                ack_str = service_userQuery_ack_to_json(nName, &User_list, &Role_list,_UserRoleManageRequestInfo.userName,_UserRoleManageRequestInfo.pagenum,_UserRoleManageRequestInfo.pagesize);
             }
         }
         UserInfo *node;

+ 46 - 30
pro/src/json_handle.c

@@ -4923,6 +4923,7 @@ cJSON* json_to_user_manage(const char* str,_UserRoleManageInfo* _UserRoleManageR
         cJSON* cjson_user_userName = cJSON_GetObjectItem(cjson,"userName");
         if(cjson_user_userName!=NULL)
             _UserRoleManageRequestInfo->userName =cjson_user_userName->valuestring ;
+        else _UserRoleManageRequestInfo->userName =NULL ;
 
         cJSON *cjson_pagenum = cJSON_GetObjectItem(cjson, "pageNum");
         if (cjson_pagenum != NULL)
@@ -5430,7 +5431,7 @@ int GetRoleIDByName(char* _RoleName,RoleInfo* __RoleInfo_t)
 }
 
 
-char* service_userQuery_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleInfo* __RoleInfo_t)
+char* service_userQuery_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleInfo* __RoleInfo_t,char* _SelName,int pagenum,int pagesize)
 {
     char* str = NULL;
     
@@ -5439,7 +5440,7 @@ char* service_userQuery_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleI
     int nlevel = GetRoleLevelByID(nRoleID,__RoleInfo_t);
 
     //根据登录的账号筛选查询的范围
-    int nTotalUserNum=0;
+
 
     UserInfo SelUser_list;
     INIT_LIST_HEAD(&SelUser_list.list);
@@ -5455,51 +5456,66 @@ char* service_userQuery_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleI
         int nlevelTemp = GetRoleLevelByID(nRoleTemp,__RoleInfo_t);
         if (nlevelTemp>=nlevel)
         {
-            UserInfo *new_user = (UserInfo *)malloc(sizeof(UserInfo));
-            memcpy(new_user,_UserInfoTemp,sizeof(UserInfo));
+            if (_SelName && strcmp(_SelName, "") != 0)
+            {
+               if (strstr(_UserInfoTemp->userName, _SelName) !=NULL)
+               {
+                   UserInfo *new_user = (UserInfo *)malloc(sizeof(UserInfo));
+                   memcpy(new_user, _UserInfoTemp, sizeof(UserInfo));
 
-            list_add_tail(&new_user->list, &SelUser_list.list);
-            nTotalUserNum++;
+                   list_add_tail(&new_user->list, &SelUser_list.list);
+               }
+            }
+            else
+            {
+                UserInfo *new_user = (UserInfo *)malloc(sizeof(UserInfo));
+                memcpy(new_user, _UserInfoTemp, sizeof(UserInfo));
+
+                list_add_tail(&new_user->list, &SelUser_list.list);
+            }
         } 
     }
 
-
+    int nTotalUserNum=0;
+    int nSelUserNum = 0;
     // 创建 JSON 对象
     cJSON* root = cJSON_CreateObject();   
     //创建数据
-    cJSON_AddNumberToObject(root,"total", nTotalUserNum);
-
     char buffer[50];
-
-    //创建数据
     cJSON* data_root_array = cJSON_CreateArray();    
     UserInfo *_UserInfoTemp1 = NULL;
     list_for_each_entry(_UserInfoTemp1, &SelUser_list.list, list)
     {
         if (_UserInfoTemp1 == NULL)
             break;
-        //创建数据
-        cJSON* data_filed = cJSON_CreateObject();
-        cJSON_AddStringToObject(data_filed,"createTime",_UserInfoTemp1->createTime);
-        cJSON_AddNumberToObject(data_filed, "userId", _UserInfoTemp1->userID);
-        cJSON_AddStringToObject(data_filed,"userName",_UserInfoTemp1->userName);
-        cJSON_AddStringToObject(data_filed, "nickName", _UserInfoTemp1->nickName);
-        cJSON_AddStringToObject(data_filed, "delFlag", "1");
-        memset(buffer, 0, sizeof(buffer));
-        sprintf(buffer, "%d",_UserInfoTemp1->roleID);
-        cJSON_AddStringToObject(data_filed, "roleId", buffer);
-
-        char* nroleName=GetRoleNameByID(_UserInfoTemp1->roleID,__RoleInfo_t);
-        if (nroleName!=NULL)
+        if (nTotalUserNum>=(pagenum-1)*pagesize && nTotalUserNum< pagenum*pagesize)
         {
-           cJSON_AddStringToObject(data_filed, "roleName", nroleName);
-           free(nroleName);
+            // 创建数据
+            cJSON *data_filed = cJSON_CreateObject();
+            cJSON_AddStringToObject(data_filed, "createTime", _UserInfoTemp1->createTime);
+            cJSON_AddNumberToObject(data_filed, "userId", _UserInfoTemp1->userID);
+            cJSON_AddStringToObject(data_filed, "userName", _UserInfoTemp1->userName);
+            cJSON_AddStringToObject(data_filed, "nickName", _UserInfoTemp1->nickName);
+            cJSON_AddStringToObject(data_filed, "delFlag", "1");
+            memset(buffer, 0, sizeof(buffer));
+            sprintf(buffer, "%d", _UserInfoTemp1->roleID);
+            cJSON_AddStringToObject(data_filed, "roleId", buffer);
+
+            char *nroleName = GetRoleNameByID(_UserInfoTemp1->roleID, __RoleInfo_t);
+            if (nroleName != NULL)
+            {
+                cJSON_AddStringToObject(data_filed, "roleName", nroleName);
+                free(nroleName);
+            }
+            else
+                cJSON_AddStringToObject(data_filed, "roleName", "");
+            cJSON_AddItemToObject(data_root_array, "rows", data_filed);
+
+            nSelUserNum++;
         }
-        else  cJSON_AddStringToObject(data_filed, "roleName", "");
-        
-        cJSON_AddItemToObject(data_root_array, "rows", data_filed);
+        nTotalUserNum++;
     }
-
+    cJSON_AddNumberToObject(root,"total", nTotalUserNum);
     //添加汇总
     cJSON_AddItemToObject(root, "rows", data_root_array);
 

+ 1 - 1
pro/src/json_handle.h

@@ -642,7 +642,7 @@ int GetRoleIDByUserName(char* _userName,UserInfo* __UserInfo_t);
 int GetRoleLevelByID(int _RoleID,RoleInfo* __RoleInfo_t);
 char* GetRoleNameByID(int _RoleID,RoleInfo* __RoleInfo_t);
 int GetRoleIDByName(char* _RoleName,RoleInfo* __RoleInfo_t);
-char* service_userQuery_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleInfo* __RoleInfo_t);
+char* service_userQuery_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleInfo* __RoleInfo_t,char* _SelName,int pagenum,int pagesize);
 char* service_userRole_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleInfo* __RoleInfo_t);
 
 

File diff suppressed because it is too large
+ 2 - 2
pro/src/sqlite_handle.c