Просмотр исходного кода

增加同步异步控制切换

menglu 3 лет назад
Родитель
Сommit
8cdc6621a9

+ 8 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/Constant.java

@@ -35,6 +35,8 @@ public class Constant {
 	public static long compute_thread_sdv_interval;
 
 	public static String sdk_version;
+	public static String control_mode;	
+	
 	public static String zkt_dmp_url;
 	public static boolean zkt_dmp_compress = false;
 	public static String zkt_monitor_url;
@@ -113,6 +115,12 @@ public class Constant {
 					element = (Element) iter.next();
 					sdk_version = element.getText();
 				}
+				iter = document.selectNodes("/root/control_mode").iterator();
+				if (iter.hasNext()) {
+					element = (Element) iter.next();
+					control_mode = element.getText();
+				}
+				
 				iter = document.selectNodes("/root/zkt_dmp").iterator();
 				if (iter.hasNext()) {
 					element = (Element) iter.next();

+ 24 - 7
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/ControlUtil.java

@@ -215,12 +215,29 @@ public class ControlUtil {
 		JSONObject postJSON = new JSONObject();
 		postJSON.put("building", RepositoryContainer.RepositoryProject.projectId.substring(2));
 		postJSON.put("points", points);
-		String post_url = Constant.iot_project_url + "/sync_pointsetbatch_post";
-		log.debug(postJSON.toJSONString());
-		String post_result = HttpClientUtil.instance("iot_project").post(post_url, postJSON.toJSONString());
-		JSONObject result = JSON.parseObject(post_result);
-		JSONArray result_points = (JSONArray) result.get("points");
-		log.debug(post_result);
-		return result_points;
+		if (Constant.control_mode.equals("sync")) {
+			String post_url = Constant.iot_project_url + "/sync_pointsetbatch_post";
+			log.debug(postJSON.toJSONString());
+			String post_result = HttpClientUtil.instance("iot_project").post(post_url, postJSON.toJSONString());
+			JSONObject result = JSON.parseObject(post_result);
+			JSONArray result_points = (JSONArray) result.get("points");
+			log.debug(post_result);
+			return result_points;
+		} else {
+			String post_url = Constant.iot_project_url + "/pointsetbatch_post";
+			log.debug(postJSON.toJSONString());
+			String post_result = HttpClientUtil.instance("iot_project").post(post_url, postJSON.toJSONString());
+			JSONObject result = JSON.parseObject(post_result);
+			JSONArray result_points = (JSONArray) result.get("points");
+			for (int i = 0; i < result_points.size(); i++) {
+				JSONObject item = result_points.getJSONObject(i);
+				String status = item.getString("status");
+				if (status.equals("start:sent")) {
+					item.put("status", "finish:success");
+				}
+			}
+			log.debug(post_result);
+			return result_points;
+		}
 	}
 }

+ 2 - 0
ibms-data-sdk/src/main/resources/config.xml

@@ -6,6 +6,8 @@
 	<groupCode>WD</groupCode>
 	<projectId>Pj4403070003</projectId>
 	<sdk_version>SDK-D</sdk_version>
+	<!-- 同步sync 异步async -->
+	<control_mode>sync</control_mode>
 	
 	<config path="D-config" refresh_enable="true" refresh_interval_second="60" />
 	<physical_world path="D-physical_world" refresh_enable="true" refresh_interval_second="3600" />