From 720e1bb74e060d2501b91e38deeaff8b0504e75a Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Wed, 15 Nov 2017 14:58:51 +0800 Subject: [PATCH] test --- src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 46 insertions(+), 11 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 434f45b..9d600ba 100644 --- a/src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java +++ b/src/main/java/com/moral/monitor/listener/quartz/StopStateCheck.java @@ -1,18 +1,25 @@ package com.moral.monitor.listener.quartz; +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.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; public class StopStateCheck { @Resource JobDao jobDao; + + @Resource + RedisTemplate<String, String> redisTemplate; + + private int waits = 10000; public void check() { @@ -20,19 +27,47 @@ for (int i = 0; i < equipmentList.size(); i++) { Equipment equipment = equipmentList.get(i); String mac = equipment.getMac(); - Logger logger = jobDao.getLoggerByMac(mac); - if(logger != null) { - Date time = logger.getTime(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(time); - calendar.add(Calendar.MINUTE, 10); - Date date = new Date(); - if(calendar.getTime().getTime() < date.getTime()) { + + String static_equ_json = RedisUtil.get(redisTemplate, "static_equ_" + mac); + Map<String,String> seJSON = JSON.parseObject(static_equ_json,new TypeReference<Map<String,String>>() {}); + if(!seJSON.isEmpty()) { + String orgId = seJSON.get("orgId"); + String areaCode = seJSON.get("areaCode"); + String monitorpointId = seJSON.get("monitorpointId"); + + String key = "state_" + orgId + "_" + areaCode + "_" + monitorpointId + "_" + mac; + String state_json = RedisUtil.get(redisTemplate, key); + 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 { jobDao.updateStateByMac(mac, 4); } } else { jobDao.updateStateByMac(mac, 4); } } + +// List<Equipment> equipmentList = jobDao.getAllEquipment(); +// for (int i = 0; i < equipmentList.size(); i++) { +// Equipment equipment = equipmentList.get(i); +// String mac = equipment.getMac(); +// Logger logger = jobDao.getLoggerByMac(mac); +// if(logger != null) { +// Date time = logger.getTime(); +// Calendar calendar = Calendar.getInstance(); +// calendar.setTime(time); +// calendar.add(Calendar.MINUTE, 10); +// Date date = new Date(); +// if(calendar.getTime().getTime() < date.getTime()) { +// jobDao.updateStateByMac(mac, 4); +// } +// } else { +// jobDao.updateStateByMac(mac, 4); +// } +// } } } -- Gitblit v1.8.0