Authored by qinchao

gatewayaccess任务调度

... ... @@ -46,11 +46,15 @@ public class SingleTask implements Runnable {
Map<String, List<List<Map<String, Object>>>> result = getResult(taskModel);
taskSheduleMapper.updateLastTime(id);//更新时间
//按照告警类型进行处理
if(32==taskModel.getAlarmType()||33==taskModel.getAlarmType()){
//获取数据--上一个周期
Map<String, List<List<Map<String, Object>>>> resultMapLastPeriod = getResultLastPeriod(taskModel);
if(30==taskModel.getAlarmType()||31==taskModel.getAlarmType()||32==taskModel.getAlarmType()||33==taskModel.getAlarmType()){
AlarmTypeHandler alarmTypeHandler = getHandler(taskModel.getAlarmType());
alarmTypeHandler.handleCompareWithLastPeriod(taskModel,result,resultMapLastPeriod);
if(32==taskModel.getAlarmType()||33==taskModel.getAlarmType()){
//获取数据--上一个周期
Map<String, List<List<Map<String, Object>>>> resultMapLastPeriod = getResultLastPeriod(taskModel);
alarmTypeHandler.handleCompareWithLastPeriod(taskModel,result,resultMapLastPeriod);
}else{
alarmTypeHandler.handle(taskModel,result);
}
}else{
AlarmTypeHandler alarmTypeHandler = getHandler(taskModel.getAlarmType());
alarmTypeHandler.handle(taskModel,result);
... ...
... ... @@ -4,6 +4,7 @@ import com.model.TaskModel;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
... ... @@ -28,6 +29,7 @@ public class HandlerType_32 extends BaseHandler {
for (String influx : influxdbs) {
map=new HashMap<String, Object>();
map.put("event",taskModel.getEventName());
map.put("interval",taskModel.getInterval());
//获取本周期的值
double countThisPeriod = 0d;
if (resultMap.containsKey(influx)) {
... ... @@ -60,11 +62,11 @@ public class HandlerType_32 extends BaseHandler {
sendMsg=true;
compareValue="NaN";
}else{
BigDecimal bg = new BigDecimal((countThisPeriod-countLastPeriod)/countLastPeriod);
double compare = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double compare =(countThisPeriod-countLastPeriod)/countLastPeriod;
if(compare*100>taskModel.getAlarmNumFlag()){
sendMsg=true;
compareValue=compare*100+"%";
DecimalFormat df = new DecimalFormat("######0.00");
compareValue=df.format(compare*100)+"%";
}
}
}
... ...
... ... @@ -29,6 +29,7 @@ public class HandlerType_33 extends BaseHandler {
for (String influx : influxdbs) {
map=new HashMap<String, Object>();
map.put("event",taskModel.getEventName());
map.put("interval",taskModel.getInterval());
//获取本周期的值
double countThisPeriod = 0d;
if (resultMap.containsKey(influx)) {
... ... @@ -61,11 +62,11 @@ public class HandlerType_33 extends BaseHandler {
sendMsg=true;
compareValue="NaN";
}else{
BigDecimal bg = new BigDecimal((countLastPeriod-countThisPeriod)/countLastPeriod);
double compare = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double compare = (countLastPeriod-countThisPeriod)/countLastPeriod;
if(compare*100>taskModel.getAlarmNumFlag()){
sendMsg=true;
compareValue=compare*100+"%";
DecimalFormat df = new DecimalFormat("######0.00");
compareValue=df.format(compare*100)+"%";
}
}
}
... ...