package cn.gistack.alerts.notice.service.impl;
|
|
import cn.gistack.alerts.alarmRule.entity.AlarmRule;
|
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
|
import cn.gistack.alerts.alarmRule.service.AlarmRuleDetailService;
|
import cn.gistack.alerts.alarmRule.service.AlarmRuleService;
|
import cn.gistack.alerts.notice.constant.ZtApiDataColumnConstant;
|
import cn.gistack.alerts.notice.constant.ZtApiUrlConstant;
|
import com.alibaba.fastjson.JSONArray;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
import java.util.List;
|
import java.util.UUID;
|
|
/**
|
* 通知策略
|
*
|
* @author zhongrj
|
* @date 2023-05-30
|
*/
|
@Component
|
public class NoticeStrategyImpl {
|
|
@Autowired
|
private AlarmRuleService alarmRuleService;
|
|
@Autowired
|
private AlarmRuleDetailService alarmRuleDetailService;
|
|
@Autowired
|
private NoticeHandle noticeHandle;
|
|
@Autowired
|
private AsyncNoticeHandle asyncNoticeHandle;
|
|
|
|
|
/**
|
* 默认实现
|
*
|
* @param arg1 告警规则名称
|
* @param arg2
|
* @return
|
*/
|
public String doSomethingDefault(String arg1, String arg2) {
|
// 默认业务逻辑处理...
|
return "默认实现";
|
}
|
|
/**
|
* 策略1: 水位信息接收不到
|
*
|
* @param arg1 告警规则名称
|
* @param arg2
|
* @return
|
*/
|
public String waterInfoNotHandle(String arg1, String arg2) {
|
//String adCode = "421181000000";
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.no_z_last_api_all);
|
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
|
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.waterInfoNotHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterInfoNotList,false, adCode, false);
|
}
|
}
|
}
|
}
|
// 返回
|
return "水位信息接收不到";
|
}
|
|
/**
|
* 策略2: 水位数据异常
|
*
|
* @param arg1 告警规则名称
|
* @param arg2
|
* @return
|
*/
|
public String waterDataExcHandle(String arg1, String arg2) {
|
//String adCode = "421181000000";
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_not_normal_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.waterInfoNotHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterDataExcList,false, adCode, false);
|
}
|
}
|
}
|
}
|
// 返回
|
return "水位数据异常";
|
}
|
|
/**
|
* 策略3: 水位超低于死水位(水库技术责任人、巡查责任人)
|
*
|
* @param arg1 告警规则名称
|
* @param arg2
|
* @return
|
*/
|
public String waterLessDeadHandle(String arg1, String arg2) {
|
String adCode = "420881000000";
|
// String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_diff_dead_z_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.waterLessDeadHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterLessDeadList,true, adCode, false);
|
}
|
}
|
}
|
}
|
// 返回
|
return "水位超低于死水位";
|
}
|
|
|
|
/**
|
* 策略4: 水位高于死水位,低于旱警水位
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterMoreDeadLessHJHandle(String arg1, String arg2) {
|
// 业务逻辑处理 2...
|
return "";
|
}
|
|
/**
|
* 策略5: 水位接近汛限告警(站内信)
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterComeOverHandle(String arg1, String arg2) {
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_is_warn_over_flse_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.waterComeOverHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeOverList,true, adCode, true);
|
}
|
}
|
}
|
}
|
return "水位接近汛限告警";
|
}
|
|
|
|
/**
|
* 策略6: 水位初次超汛限告警(当前测试发送站内信)
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterFirstOverHandle(String arg1, String arg2) {
|
String adCode = "421303000000";
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_z_res_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.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterFirstOverList,true, adCode, true);
|
}
|
}
|
}
|
}
|
// 返回
|
return "水位初次超汛限告警";
|
}
|
|
|
/**
|
* 策略7: 水位小幅超汛限告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterSmallScaleOverHandle(String arg1, String arg2) {
|
// String adCode = "421303000000";
|
String adCode = null;
|
String uuid = UUID.randomUUID().toString();
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api);
|
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
|
if (null!=alarmRule) {
|
// 查询告警详情信息
|
List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
|
if (alarmRuleDetailList.size()>0){
|
// 遍历
|
if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) {
|
asyncNoticeHandle.waterSmallScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData,ZtApiDataColumnConstant.waterSmallScaleOverList,true, adCode, false,uuid);
|
}
|
if (alarmRuleDetailList.get(1).getAlarmMode().equals("短信")) {
|
asyncNoticeHandle.waterSmallScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData,ZtApiDataColumnConstant.waterSmallScaleOverList,true, adCode, false,uuid);
|
}
|
}
|
}
|
// 返回
|
return "水位小幅超汛限告警";
|
}
|
|
/**
|
* 策略8: 水位大幅超汛限告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterBigScaleOverHandle(String arg1, String arg2) {
|
//String adCode = "421303000000";
|
String adCode = null;
|
String uuid = UUID.randomUUID().toString();
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_big_over_api);
|
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
|
if (null!=alarmRule) {
|
// 查询告警详情信息
|
List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
|
if (alarmRuleDetailList.size()>0){
|
// 遍历
|
if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) {
|
asyncNoticeHandle.waterBigScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData,ZtApiDataColumnConstant.waterBigScaleOverList1,true, adCode, false,uuid);
|
}
|
if (alarmRuleDetailList.get(1).getAlarmMode().equals("短信")) {
|
asyncNoticeHandle.waterBigScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData,ZtApiDataColumnConstant.waterBigScaleOverList2,true, adCode, false,uuid);
|
}
|
}
|
}
|
// 返回
|
return "水位大幅超汛限告警";
|
}
|
|
/**
|
* 策略9: 水位接近设计洪水位告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterComeDesignHandle(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.getZtData("", ZtApiUrlConstant.res_over_des_is_warn_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.waterComeDesignHandleBySms(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList1,true, adCode, false,uuid);
|
}
|
// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
|
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList2,true, adCode, false,uuid);
|
// }
|
if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
|
asyncNoticeHandle.waterComeDesignHandleStation(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList3,true, adCode, true,uuid);
|
}
|
}
|
}
|
}
|
return "水位接近设计洪水位告警";
|
}
|
|
/**
|
* 策略10: 水位超设计洪水位告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterMoreDesignHandle(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.getZtData("", ZtApiUrlConstant.over_des_rz_warn_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.waterMoreDesignHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreDesignList,true, adCode, false,uuid);
|
}
|
// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
|
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreDesignList,true, adCode, false,uuid);
|
// }
|
}
|
}
|
}
|
// 返回
|
return "水位超设计洪水位告警";
|
}
|
|
/**
|
* 策略11: 水位超校核洪水位告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterMoreCheckHandle(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.getZtData("", ZtApiUrlConstant.res_over_chec_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.waterMoreCheckHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreCheckList,true, adCode, false,uuid);
|
}
|
// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
|
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreCheckList,true, adCode, false,uuid);
|
// }
|
}
|
}
|
}
|
// 返回
|
return "水位超校核洪水位告警";
|
}
|
|
/**
|
* 策略12: 近1h水位陡升
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterComeOneHourUpHandle(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.getZtData("", ZtApiUrlConstant.res_z_diff_up_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.waterComeOneHourUpHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeOneHourUpList,true, adCode, false,uuid);
|
}
|
}
|
}
|
}
|
// 返回
|
return "近1h水位陡升";
|
}
|
|
/**
|
* 策略13: 近1h水位陡降
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String waterComeOneHourDownHandle(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.getZtData("", ZtApiUrlConstant.res_z_diff_down_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.waterComeOneHourDownHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeOneHourDownList,true, adCode, false,uuid);
|
}
|
}
|
}
|
}
|
// 返回
|
return "近1h水位陡降";
|
}
|
|
/**
|
* 策略14: 暴雨降雨预警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String rainstormHandle(String arg1, String arg2) {
|
// 业务逻辑处理 2...
|
return "";
|
}
|
|
/**
|
* 策略15: 已降大雨告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String alreadyHeavyRainHandle(String arg1, String arg2) {
|
//String adCode = "420607000000";
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_dy_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.alreadyHeavyRainHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.alreadyHeavyRainList,true, adCode, false);
|
}
|
}
|
}
|
}
|
// 返回
|
return "已降大雨告警";
|
}
|
|
/**
|
* 策略16: 已降暴雨告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String alreadyRainstormHandle(String arg1, String arg2) {
|
//String adCode = "420607000000";
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_by_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.alreadyRainstormHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.alreadyRainstormList,true, adCode, false);
|
}
|
}
|
}
|
}
|
// 返回
|
return "已降暴雨告警";
|
}
|
|
/**
|
* 策略17: 2小时降雨告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String twoHourRainHandle(String arg1, String arg2) {
|
// 业务逻辑处理 2...
|
return "";
|
}
|
|
/**
|
* 策略18: 6小时降雨告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String sixHourRainHandle(String arg1, String arg2) {
|
//String adCode = "420607000000";
|
String uuid = UUID.randomUUID().toString();
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_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.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
|
}
|
// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
|
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
|
// }
|
}
|
}
|
}
|
// 返回
|
return "6小时降雨告警";
|
}
|
|
|
/**
|
* 策略19: 大坝安全监测告警
|
*
|
* @param arg1
|
* @param arg2
|
* @return
|
*/
|
public String damSafetyHandle(String arg1, String arg2) {
|
//String adCode = "420607000000";
|
String uuid = UUID.randomUUID().toString();
|
String adCode = null;
|
// 查询当前策略对应的告警规则信息
|
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
|
// 调用中台服务接口查询数据
|
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_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.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
|
}
|
}
|
}
|
}
|
// 返回
|
return "大坝安全监测告警";
|
}
|
|
}
|