From a0e0355181851040dd79391586ff8c40cffeda0a Mon Sep 17 00:00:00 2001
From: fengxiang <fengxiang@blit.7drlb>
Date: Wed, 15 Nov 2017 17:27:22 +0800
Subject: [PATCH] 新设备离线状态不更新修复。

---
 src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java b/src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java
index 9d600ba..4479e5d 100644
--- a/src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java
+++ b/src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java
@@ -1,15 +1,19 @@
 package com.moral.monitor.listener.quartz;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.redis.core.RedisTemplate;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
 import com.moral.monitor.dao.JobDao;
 import com.moral.monitor.entity.Equipment;
-import com.moral.monitor.entity.Logger;
 import com.moral.monitor.util.RedisUtil;
-import org.springframework.data.redis.core.RedisTemplate;
-
-import javax.annotation.Resource;
-import java.util.*;
 
 public class StopStateCheck {
 
@@ -27,8 +31,13 @@
         for (int i = 0; i < equipmentList.size(); i++) {
             Equipment equipment = equipmentList.get(i);
             String mac = equipment.getMac();
-
             String static_equ_json = RedisUtil.get(redisTemplate, "static_equ_" + mac);
+            //���������������null���������������������������������������������������
+            if(StringUtils.isEmpty(static_equ_json)) {
+            //���������������������������
+           	 jobDao.updateStateByMac(mac, 4);
+           	 return;
+           }
             Map<String,String> seJSON = JSON.parseObject(static_equ_json,new TypeReference<Map<String,String>>() {});
             if(!seJSON.isEmpty()) {
                 String orgId = seJSON.get("orgId");
@@ -37,6 +46,12 @@
 
                 String key = "state_" + orgId + "_" + areaCode + "_" + monitorpointId + "_" + mac;
                 String state_json = RedisUtil.get(redisTemplate, key);
+                //������������state���null���������������������������������������������������
+                if(StringUtils.isEmpty(state_json)) {
+                  	 //���������������������������
+                  	 jobDao.updateStateByMac(mac, 4);
+                  	 return;
+                 }
                 Map<String,String> stateJSON = JSON.parseObject(state_json,new TypeReference<Map<String,String>>() {});
                 if(!stateJSON.isEmpty()) {
                     Long time = Long.parseLong(stateJSON.get("time"));

--
Gitblit v1.8.0