|
@@ -2,9 +2,11 @@ package com.github.zuihou.job;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.ReflectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@@ -140,12 +142,17 @@ public class DashboardJob {
|
|
|
repairMap.put("repairData", repairData);
|
|
|
dataScreenMap.put("repairMap", repairMap);
|
|
|
|
|
|
+ //警报数据
|
|
|
QueryWrap<AAutoNodeLog> warnWrap = this.handlerWrapper(null, params);
|
|
|
LbqWrapper<AAutoNodeLog> warnWrapper = warnWrap.lambda();
|
|
|
- Date start = new Date();
|
|
|
- Date end = DateUtil.stringToDate7(DateUtil.dateToString(new Date()) + " 23:59:59");
|
|
|
- warnWrapper.between(AAutoNodeLog::getCreateTime,start, end);
|
|
|
- warnWrapper.and(condition -> condition.isNull(AAutoNodeLog::getExeResult).or().eq(AAutoNodeLog::getExeResult,"0")).orderByDesc(AAutoNodeLog::getCreateTime);
|
|
|
+ //Date start = new Date();
|
|
|
+ //警报弹框只执行一次
|
|
|
+ //Date end = DateUtil.stringToDate7(DateUtil.dateToString(new Date()) + " 23:59:59");
|
|
|
+ //warnWrapper.between(AAutoNodeLog::getCreateTime,start, end);
|
|
|
+ //warnWrapper.isNull(AAutoNodeLog::getExeResult).le(AAutoNodeLog::getEndTime,new Date());
|
|
|
+ //warnWrapper.and(condition -> condition.isNull(AAutoNodeLog::getExeResult).or().eq(AAutoNodeLog::getExeResult,"0")).orderByDesc(AAutoNodeLog::getCreateTime);
|
|
|
+ //返回还未处理、执行状态为失败,并且还未推送的日志记录
|
|
|
+ warnWrapper.eq(AAutoNodeLog::getExeResult,"0").eq(AAutoNodeLog::getStatus,"0").eq(AAutoNodeLog::getSendStatus,"0");
|
|
|
IPage<AAutoNodeLog> warnData = autoNodeLogService.pageList(new Page<AAutoNodeLog>(), warnWrapper);
|
|
|
|
|
|
Map warnMap = Maps.newHashMap();
|
|
@@ -161,6 +168,16 @@ public class DashboardJob {
|
|
|
String pushMsg = objectMapper.writeValueAsString(pushMap);
|
|
|
//logger.info("推送前端======"+pushMsg);
|
|
|
webSocketServer.BroadCastInfo(pushMsg);
|
|
|
+
|
|
|
+ //更新推送状态
|
|
|
+ if(CollectionUtil.isNotEmpty(warnData.getRecords())) {
|
|
|
+ Long[] ids = warnData.getRecords().stream().map(item -> {
|
|
|
+ return item.getId();
|
|
|
+ }).toArray(Long[]::new);
|
|
|
+ UpdateWrapper<AAutoNodeLog> updateWrapper = new UpdateWrapper<AAutoNodeLog>();
|
|
|
+ updateWrapper.lambda().set(AAutoNodeLog::getSendStatus, "1").in(AAutoNodeLog::getId, ids);
|
|
|
+ autoNodeLogService.update(null, updateWrapper);
|
|
|
+ }
|
|
|
}
|
|
|
catch (Exception e){
|
|
|
logger.error("推送异常======"+e.getMessage());
|