工业级运维app手机api
沈斌
2017-11-20 44bfab8ff28cbeb54686f9398699615324ca879b
src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java
@@ -7,6 +7,8 @@
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
import com.alibaba.fastjson.JSON;
@@ -23,7 +25,7 @@
    @Resource
    RedisTemplate<String, String> redisTemplate;
    private int waits = 10000;
    private int waits = 30000;
    public void check() {
@@ -34,10 +36,10 @@
            String static_equ_json = RedisUtil.get(redisTemplate, "static_equ_" + mac);
            //设备资料为null,说明未收到该设备的数据,直接离线
            if(StringUtils.isEmpty(static_equ_json)) {
            //这里为空,直接离线
               jobDao.updateStateByMac(mac, 4);
               return;
           }
                //这里为空,直接离线
                  jobDao.updateStateByMac(mac, 4);
                continue;
            }
            Map<String,String> seJSON = JSON.parseObject(static_equ_json,new TypeReference<Map<String,String>>() {});
            if(!seJSON.isEmpty()) {
                String orgId = seJSON.get("orgId");
@@ -46,22 +48,25 @@
                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;
                 }
                    //这里为空,直接离线
                    jobDao.updateStateByMac(mac, 4);
                    continue;
                }
                Map<String,String> stateJSON = JSON.parseObject(state_json,new TypeReference<Map<String,String>>() {});
                if(!stateJSON.isEmpty()) {
                    Long time = Long.parseLong(stateJSON.get("time"));
                    if(time + waits < new Date().getTime()) {
                        jobDao.updateStateByMac(mac, 4);
                    }
                } else {
                }
                else {
                    jobDao.updateStateByMac(mac, 4);
                }
            } else {
            }
            else {
                jobDao.updateStateByMac(mac, 4);
            }
        }