工业级运维app手机api
fengxiang
2017-11-15 a0e0355181851040dd79391586ff8c40cffeda0a
新设备离线状态不更新修复。
1 files modified
27 ■■■■ changed files
src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java 27 ●●●● patch | view | raw | blame | history
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"));