Browse Source

统一处理新旧报警不一致的情况

menglu 3 years ago
parent
commit
3831a48c29

+ 48 - 34
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDAlarmUtil.java

@@ -1,5 +1,6 @@
 package com.persagy.ibms.data.sdk.util;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -15,8 +16,54 @@ import com.persagy.ibms.core.data.SceneDataValue;
 import com.persagy.ibms.core.util.RWDUtil;
 
 public class RWDAlarmUtil {
-
 	public static void modify_alarm(JSONObject alarm) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+		try {
+			if (alarm.containsKey("triggerInfo")) {
+				Object object = alarm.get("triggerInfo");
+				if (object != null && object instanceof String) {
+					String string = alarm.getString("triggerInfo");
+					JSONObject json = JSON.parseObject(string);
+					alarm.put("triggerInfo", json);
+				}
+			}
+
+			if (alarm.containsKey("triggerTime")) {
+				Object object = alarm.get("triggerTime");
+				if (object != null && object instanceof String) {
+					String triggerTimeString = (String) object;
+					Date triggerTime = sdf.parse(triggerTimeString);
+					alarm.put("triggerTime", triggerTime.getTime());
+				}
+			}
+			if (alarm.containsKey("endTime")) {
+				Object object = alarm.get("endTime");
+				if (object != null && object instanceof String) {
+					String endTimeString = (String) object;
+					Date endTime = sdf.parse(endTimeString);
+					alarm.put("endTime", endTime.getTime());
+				}
+			}
+			if (alarm.containsKey("createTime")) {
+				Object object = alarm.get("createTime");
+				if (object != null && object instanceof String) {
+					String createTimeString = (String) object;
+					Date createTime = sdf.parse(createTimeString);
+					alarm.put("createTime", createTime.getTime());
+				}
+			}
+			if (alarm.containsKey("updateTime")) {
+				Object object = alarm.get("updateTime");
+				if (object != null && object instanceof String) {
+					String updateTimeString = (String) object;
+					Date updateTime = sdf.parse(updateTimeString);
+					alarm.put("updateTime", updateTime.getTime());
+				}
+			}
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+
 		JSONObject triggerInfo = (JSONObject) alarm.remove("triggerInfo");
 		if (triggerInfo.size() == 1) {
 			String[] infos = triggerInfo.keySet().toArray(new String[0]);
@@ -84,7 +131,6 @@ public class RWDAlarmUtil {
 	}
 
 	public static synchronized int refresh() throws Exception {
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
 		RepositoryContainer.RepositoryBase.alarmArray.set.clear();
 		String[] objIds = RepositoryContainer.RepositoryBase.id2alarmList.keySet().toArray(new String[0]);
 		for (String objId : objIds) {
@@ -99,38 +145,6 @@ public class RWDAlarmUtil {
 			String getResultString = HttpClientUtil.get(get_url, null);
 			JSONObject getResult = JSON.parseObject(getResultString);
 			Content = (JSONArray) getResult.get("Item");
-			// triggerInfo
-			// triggerTime
-			for (int i = 0; i < Content.size(); i++) {
-				JSONObject ContentItem = Content.getJSONObject(i);
-				if (ContentItem.containsKey("triggerInfo")) {
-					String triggerInfoString = ContentItem.getString("triggerInfo");
-					JSONObject triggerInfo = JSON.parseObject(triggerInfoString);
-					ContentItem.put("triggerInfo", triggerInfo);
-				}
-
-				if (ContentItem.containsKey("triggerTime")) {
-					String triggerTimeString = ContentItem.getString("triggerTime");
-					Date triggerTime = sdf.parse(triggerTimeString);
-					ContentItem.put("triggerTime", triggerTime.getTime());
-				}
-				if (ContentItem.containsKey("endTime")) {
-					String endTimeString = ContentItem.getString("endTime");
-					Date endTime = sdf.parse(endTimeString);
-					ContentItem.put("endTime", endTime.getTime());
-				}
-				if (ContentItem.containsKey("createTime")) {
-					String createTimeString = ContentItem.getString("createTime");
-					Date createTime = sdf.parse(createTimeString);
-					ContentItem.put("createTime", createTime.getTime());
-				}
-				if (ContentItem.containsKey("updateTime")) {
-					String updateTimeString = ContentItem.getString("updateTime");
-					Date updateTime = sdf.parse(updateTimeString);
-					ContentItem.put("updateTime", updateTime.getTime());
-				}
-			}
-
 		} else {
 			String post_url = Constant.alarm_rest + "/alarm/queryAlarmList";
 			JSONObject postParam = new JSONObject();