Browse Source

完善新增组织的逻辑

丁治程 9 months ago
parent
commit
6d71306f62

+ 8 - 0
jeecg-module-interlock/src/main/java/org/jeecg/modules/iotedgeCollectData/controller/IotedgeCollectDataController.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.iotedgeCollectData.controller;
 
 
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 
 
@@ -229,4 +230,11 @@ public class IotedgeCollectDataController extends JeecgController<IotedgeCollect
     	return Result.error(code);
     	return Result.error(code);
     	//return restClientService.updateGroup(groupName,groupId);
     	//return restClientService.updateGroup(groupName,groupId);
 	 }
 	 }
+
+	 @AutoLog(value = "IoTEdge-获取所有的组织")
+	 @ApiOperation(value="IoTEdge-获取所有的组织", notes="IoTEdge-获取所有的组织")
+	 @PostMapping(value = "/getAllGroup")
+	 public Map<String, Object> getAllGroup(){
+    	return iotedgeCollectDataService.getAllGroup();
+	 }
 }
 }

+ 3 - 0
jeecg-module-interlock/src/main/java/org/jeecg/modules/iotedgeCollectData/service/IIotedgeCollectDataService.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @Description: iotedge_collect_data
  * @Description: iotedge_collect_data
@@ -26,4 +27,6 @@ public interface IIotedgeCollectDataService extends IService<IotedgeCollectData>
     String deleteGroup(String interlockId, HttpServletRequest request);
     String deleteGroup(String interlockId, HttpServletRequest request);
 
 
     String updateGroup(InterlockBase interlockBase, String groupName, HttpServletRequest request);
     String updateGroup(InterlockBase interlockBase, String groupName, HttpServletRequest request);
+
+    Map<String, Object> getAllGroup();
 }
 }

+ 19 - 0
jeecg-module-interlock/src/main/java/org/jeecg/modules/iotedgeCollectData/service/RestClientService.java

@@ -321,4 +321,23 @@ public class RestClientService {
         return response.getBody();
         return response.getBody();
     }
     }
 
 
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 获取所有的 Group
+    *   date: 2024/8/5
+    */
+    public JSONObject getAllGroup(){
+        String url = "http://127.0.0.1:8082/v1/groups";
+        //String url = configService.getConfigValue(ConfigInfo.GETGROUPINFO);
+        String accessToken = getAccessToken();
+        HttpHeaders headers = new HttpHeaders();
+        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
+        headers.setContentType(type);
+        headers.add("Authorization", "Bearer " + accessToken);
+        HttpEntity<String> httpEntity = new HttpEntity<String>(null, headers);
+        ResponseEntity<JSONObject> response = restTemplate.exchange(url, HttpMethod.GET,httpEntity, JSONObject.class);
+        return response.getBody();
+    }
+
 }
 }

+ 29 - 1
jeecg-module-interlock/src/main/java/org/jeecg/modules/iotedgeCollectData/service/impl/IotedgeCollectDataServiceImpl.java

@@ -154,8 +154,20 @@ public class IotedgeCollectDataServiceImpl extends ServiceImpl<IotedgeCollectDat
                 Integer code = (Integer) mJsonObject.get("code");
                 Integer code = (Integer) mJsonObject.get("code");
                 String message1 = (String) mJsonObject.get("message");
                 String message1 = (String) mJsonObject.get("message");
                 if (ObjectUtil.isNotNull(code) && 500 == code){
                 if (ObjectUtil.isNotNull(code) && 500 == code){
-                    // 500表示该组织已经存在了(给的文档写的是409,不知道为什么不一样),应该去获取改组织的id 赋给新增的系统的iotedge_group_id,没有接口
+                    // 500表示该组织已经存在了(给的文档写的是409,不知道为什么不一样)
                     log.info("IoTedge中该组织已经存在,添加组织失败!请到IoTedge系统中进行处理");
                     log.info("IoTedge中该组织已经存在,添加组织失败!请到IoTedge系统中进行处理");
+                    // 应该去获取改组织的id 赋给新增的系统的iotedge_group_id,没有接口
+                    // 目前的方法是去获取所有的组织,由于组织名称不相同,去获取当前组织的id
+                    Map<String, Object> allGroupMap = this.getAllGroup();
+                    ArrayList<String> groupNameList = new ArrayList<>();
+                    for (String key : allGroupMap.keySet()) {
+                        groupNameList.add(key);
+                    }
+                    if (groupNameList.contains(groupName)){
+                        String groupId= (String) allGroupMap.get(groupName);
+                        interlockBase.setIotedgeGroupId(groupId);
+                        baseService.updateById(interlockBase);
+                    }
                     resultCode = ERROR_CODE_TWO;
                     resultCode = ERROR_CODE_TWO;
                 }
                 }
             }
             }
@@ -277,4 +289,20 @@ public class IotedgeCollectDataServiceImpl extends ServiceImpl<IotedgeCollectDat
         }
         }
         return resultCode;
         return resultCode;
     }
     }
+
+    @Override
+    public Map<String, Object> getAllGroup() {
+        HashMap<String, Object> groupMap = new HashMap<>();
+
+        JSONObject allGroup = restClientService.getAllGroup();
+        ArrayList<Map<String,Object>> items = (ArrayList<Map<String, Object>>) allGroup.get("items");
+
+        for (Map<String,Object> item : items) {
+            String groupName = (String) item.get("groupName");
+            String groupId = (String) item.get("groupId");
+            groupMap.put(groupName,groupId);
+        }
+
+        return groupMap;
+    }
 }
 }