guoshilong
2024-04-15 b3ec16fd6d3c61814d55465ccd1c39d9fc49fff4
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -12,6 +12,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -663,10 +664,10 @@
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, true, uuid);
                  asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid);
               }
            }
         }
@@ -698,7 +699,10 @@
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
                  asyncNoticeHandle.damSafetyHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid);
               }
            }
         }
@@ -732,6 +736,9 @@
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid);
               }
            }
         }
      }
@@ -764,8 +771,11 @@
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, true, adCode, true, uuid);
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyDataMissingHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, false, adCode, true, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("短信")){
                  asyncNoticeHandle.damSafetySyDataMissingHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, false, adCode, false, uuid);
               }
            }
         }
@@ -797,8 +807,11 @@
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, true, adCode, true, uuid);
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, false, adCode, true, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("短信")){
                  asyncNoticeHandle.damSafetySyDataMissingHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, false, adCode, false, uuid);
               }
            }
         }
@@ -872,9 +885,9 @@
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
//               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
//                  asyncNoticeHandle.damSafetySyHigherThenNozzleHandleSms(alarmRule, alarmRuleDetail, array,ZtApiDataColumnConstant.syHigherThenNozzle,true, adCode, false,uuid);
//               }
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetySyHigherThenNozzleHandleSms(alarmRule, alarmRuleDetail, array,ZtApiDataColumnConstant.syHigherThenNozzle,true, adCode, false,uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyHigherThenNozzleHandleStation(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syHigherThenNozzle, true, adCode, true, uuid);
               }
@@ -1256,6 +1269,13 @@
      return "近1h变形值大于10cm以上告警";
   }
   /**
    * 渗流量一日大于5L小于8L,连续3日增加
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySlOver5Less8Handle(String arg1, String arg2) {
      String adCode = null;
@@ -1286,6 +1306,13 @@
   }
   /**
    * 渗流量一日大于8L小于10L,连续3日增加
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySlOver8Less10Handle(String arg1, String arg2) {
      String adCode = null;
@@ -1316,7 +1343,13 @@
   }
   /**
    * 渗流量一日大于10L,连续3日增加
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySlOver10Handle(String arg1, String arg2) {
      String adCode = null;
@@ -1346,7 +1379,41 @@
      return "渗流量一日大于5L小于8L,连续3日增加告警";
   }
   /**
    * 视频离线
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String videoOfflineHandle(String arg1, String arg2) {
      String adCode = null;
      String uuid = UUID.randomUUID().toString();
      // 查询当前策略对应的告警规则信息
      AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtDataV2("", ZtApiUrlConstant.alarm_video_offline_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.videoOfflineHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.videoOffline, false, adCode, true, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.videoOfflineHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.videoOffline, false, adCode, false, uuid);
               }
            }
         }
      }
      return "视频信息缺失告警";
   }
   private JSONArray filterData(JSONArray ztData, String level) {
@@ -1614,7 +1681,6 @@
      }
      return array;
   }
}