短信,站内信告警调整(新增近1h水位陡降,陡升,水位超校核洪水位告警,水位接近设计洪水位告警,水位大幅超汛限告警,水位小幅超汛限告警),公用方法调整
| | |
| | | * 备注 |
| | | */ |
| | | private String alarmRemark; |
| | | |
| | | /** |
| | | * 告警频次 |
| | | */ |
| | | private String alarmFrequency; |
| | | |
| | | /** |
| | | * 告警人 |
| | | */ |
| | | private String alarmPerson; |
| | | } |
| | |
| | | public Object selectAlarmRulePage(IPage<AlarmRuleVO> page, AlarmRuleVO alarmRule) { |
| | | if (null != alarmRule.getIsExport()){ |
| | | List<AlarmRuleVO> alarmRuleVOS = baseMapper.selectAlarmRulePage(null, alarmRule); |
| | | for (AlarmRuleVO alarmRuleVO : alarmRuleVOS) { |
| | | alarmRuleVO.setAlarmPerson(String.join(",",sysClient.getRoleNames(alarmRuleVO.getAlarmPerson()).getData())); |
| | | } |
| | | return alarmRuleVOS; |
| | | } |
| | | List<AlarmRuleVO> alarmRuleVOS = baseMapper.selectAlarmRulePage(page, alarmRule); |
| | | for (AlarmRuleVO alarmRuleVO : alarmRuleVOS) { |
| | | alarmRuleVO.setAlarmPerson(String.join(",",sysClient.getRoleNames(alarmRuleVO.getAlarmPerson()).getData())); |
| | | } |
| | | return page.setRecords(alarmRuleVOS); |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * 水位数据缺失字段(不包含责任人相关信息) |
| | | * 1.水位数据缺失字段(不包含责任人相关信息) |
| | | */ |
| | | public static List<String> waterInfoNotList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位数据异常(不包含责任人相关信息) |
| | | * 2.水位数据异常(不包含责任人相关信息) |
| | | */ |
| | | public static List<String> waterDataExcList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位超低于死水位(水库技术责任人、巡查责任人) |
| | | * 3.水位超低于死水位(水库技术责任人、巡查责任人) |
| | | */ |
| | | public static List<String> waterLessDeadList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位接近汛限告警 |
| | | * 5.水位接近汛限告警 |
| | | */ |
| | | public static List<String> waterComeOverList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位初次超汛限告警 |
| | | * 6.水位初次超汛限告警 |
| | | */ |
| | | public static List<String> waterFirstOverList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位小幅超汛限告警 |
| | | * 7.水位小幅超汛限告警 |
| | | */ |
| | | public static List<String> waterSmallScaleOverList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位大幅超汛限告警1 |
| | | * 8.1水位大幅超汛限告警1 |
| | | */ |
| | | public static List<String> waterBigScaleOverList1 = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 水位大幅超汛限告警2 |
| | | * 8.2水位大幅超汛限告警2 |
| | | */ |
| | | public static List<String> waterBigScaleOverList2 = new ArrayList<String>() |
| | | {{ |
| | |
| | | add("over_z"); |
| | | }}; |
| | | |
| | | |
| | | /** |
| | | * 水位超设计洪水位告警处理 |
| | | * 9.1 水位接近设计洪水位告警 --短信 |
| | | */ |
| | | public static List<String> waterComeDesignList1= new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_z"); |
| | | add("diff_dam"); |
| | | add("drp_24"); |
| | | }}; |
| | | |
| | | /** |
| | | * 9.2 水位接近设计洪水位告警 --电话 |
| | | */ |
| | | public static List<String> waterComeDesignList2= new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_z"); |
| | | add("diff_dam"); |
| | | }}; |
| | | |
| | | /** |
| | | * 9.3 水位接近设计洪水位告警 --站内信 |
| | | */ |
| | | public static List<String> waterComeDesignList3= new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_z"); |
| | | add("diff_dam"); |
| | | add("drp_24"); |
| | | }}; |
| | | |
| | | /** |
| | | * 10 水位超设计洪水位告警处理 |
| | | */ |
| | | public static List<String> waterMoreDesignList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 已降大雨告警 |
| | | * 11 水位超校核洪水位告警 |
| | | */ |
| | | public static List<String> waterMoreCheckList = new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_chec_fl_stag"); |
| | | add("diff_dam"); |
| | | add("drp_24"); |
| | | }}; |
| | | |
| | | /** |
| | | * 12 近1h水位陡升 |
| | | */ |
| | | public static List<String> waterComeOneHourUpList = new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_1h"); |
| | | add("drp_24"); |
| | | }}; |
| | | |
| | | /** |
| | | * 13 近1h水位陡降 |
| | | */ |
| | | public static List<String> waterComeOneHourDownList = new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_1h"); |
| | | add("drp_24"); |
| | | }}; |
| | | |
| | | /** |
| | | * 15 已降大雨告警 |
| | | */ |
| | | public static List<String> alreadyHeavyRainList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 已降暴雨告警 |
| | | * 16 已降暴雨告警 |
| | | */ |
| | | public static List<String> alreadyRainstormList = new ArrayList<String>() |
| | | {{ |
| | |
| | | }}; |
| | | |
| | | /** |
| | | * 6小时降雨告警 |
| | | * 18 6小时降雨告警 |
| | | */ |
| | | public static List<String> sixHourRainList = new ArrayList<String>() |
| | | {{ |
| | |
| | | public static final String res_z_null_api = "/services/1234567890ABCDEFGHIJKLMN/res/z_null"; |
| | | |
| | | /** |
| | | * 水位数据缺失-全 |
| | | * 1.水位数据缺失-全 |
| | | */ |
| | | public static final String no_z_last_api_all = "/services/1234567890ABCDEFGHIJKLMN/no_z_last/all"; |
| | | |
| | | /** |
| | | * 水位数据异常 |
| | | * 2.水位数据异常 |
| | | */ |
| | | public static final String res_z_not_normal_api = "/services/1234567890ABCDEFGHIJKLMN/res/z_not_normal"; |
| | | |
| | | /** |
| | | * 水位超低于死水位 |
| | | * 3.水位超低于死水位 |
| | | */ |
| | | public static final String res_diff_dead_z_api = "/services/1234567890ABCDEFGHIJKLMN/res/diff_dead_z"; |
| | | |
| | | /** |
| | | * 水位接近汛限告警 |
| | | * 5.水位接近汛限告警 |
| | | */ |
| | | public static final String res_z_is_warn_over_flse_api = "/services/1234567890ABCDEFGHIJKLMN/res_z_is_warn/over_flse"; |
| | | |
| | | /** |
| | | * 水位初次超汛限告警 |
| | | * 6.水位初次超汛限告警 |
| | | */ |
| | | public static final String over_z_res_api = "/services/1234567890ABCDEFGHIJKLMN/over_z_res"; |
| | | |
| | | /** |
| | | * 水位小幅超汛限告警 |
| | | * 7.水位小幅超汛限告警 |
| | | */ |
| | | public static final String res_over_z_small_over_api = "/services/1234567890ABCDEFGHIJKLMN/res_over_z/small_over"; |
| | | |
| | | /** |
| | | * 水位大幅超汛限告警 |
| | | * 8.水位大幅超汛限告警 |
| | | */ |
| | | public static final String res_over_z_big_over_api = "/services/1234567890ABCDEFGHIJKLMN/res_over_z/big_over"; |
| | | |
| | | /** |
| | | * 水位接近设计洪水位告警 |
| | | * 9.水位接近设计洪水位告警 |
| | | */ |
| | | public static final String res_over_des_is_warn_api = "/services/1234567890ABCDEFGHIJKLMN/res_over_des/is_warn"; |
| | | |
| | | /** |
| | | * 水位超设计洪水位告警处理 |
| | | * 10.水位超设计洪水位告警处理 |
| | | */ |
| | | public static final String over_des_rz_warn_api = "/services/1234567890ABCDEFGHIJKLMN/over_des_rz/warn"; |
| | | |
| | | /** |
| | | * 水位超校核洪水位告警 |
| | | * 11.水位超校核洪水位告警 |
| | | */ |
| | | public static final String res_over_chec_api = "/services/1234567890ABCDEFGHIJKLMN/res_over_chec"; |
| | | |
| | | /** |
| | | * 近1h水位陡升 |
| | | * 12.近1h水位陡升 |
| | | */ |
| | | public static final String res_z_diff_up_api = "/services/1234567890ABCDEFGHIJKLMN/res_z_diff/up"; |
| | | |
| | | /** |
| | | * 近1h水位陡降 |
| | | * 13.近1h水位陡降 |
| | | */ |
| | | public static final String res_z_diff_down_api = "/services/1234567890ABCDEFGHIJKLMN/res_z_diff/down"; |
| | | |
| | | /** |
| | | * 已降大雨告警 |
| | | * 15. 已降大雨告警 |
| | | */ |
| | | public static final String alarm_rain_dy_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/dy/api"; |
| | | |
| | | /** |
| | | * 已降暴雨告警 |
| | | * 16. 已降暴雨告警 |
| | | */ |
| | | public static final String alarm_rain_by_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/by/api"; |
| | | |
| | | /** |
| | | * 6小时降雨告警 |
| | | * 18. 6小时降雨告警 |
| | | */ |
| | | public static final String alarm_rain_6_over_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/6/over/api"; |
| | | |
| | |
| | | |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRecord; |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRule; |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail; |
| | | import cn.gistack.alerts.notice.constant.ZtApiDataColumnConstant; |
| | | import cn.gistack.alerts.notice.constant.ZtApiUrlConstant; |
| | | import cn.gistack.alerts.notice.enums.DangerEnum; |
| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | @Component |
| | | public class AsyncNoticeHandle { |
| | |
| | | |
| | | |
| | | /** |
| | | * 1.水位信息接收不到 |
| | | * @param alarmRule |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param adCode |
| | | * @param isSendStation |
| | | * 1.水位信息接收不到 2. 水位数据异常 需要合并水库的 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | */ |
| | | @Async |
| | | public void waterInfoNotHandle(AlarmRule alarmRule, String templateId, String uuid, String adCode,Boolean isSendStation) { |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.no_z_last_api_all); |
| | | public void waterInfoNotHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation) { |
| | | String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterInfoNotList,false,adCode,uuid,null); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | // 遍历 |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | // 调用短信服务 |
| | | smsService.sendMergeSignMsg(smsRequestTemplate); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 策略2: 水位数据异常 |
| | | * @param alarmRule |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param adCode |
| | | * @param isSendStation |
| | | */ |
| | | @Async |
| | | public void waterDataExcHandle(AlarmRule alarmRule, String templateId, String uuid, String adCode, boolean isSendStation) { |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_not_normal_api); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterDataExcList,false,adCode,uuid,null); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 遍历 |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 保存告警记录信息 |
| | |
| | | |
| | | /** |
| | | * 3.水位超低于死水位 |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param isSendStation |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterLessDeadHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | public Map<String, Object> waterLessDeadHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_diff_dead_z_api); |
| | | // 获取需要发送的信息 |
| | | String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true,adCode,uuid,null); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | | // 遍历,拼接县水利部人员电话 |
| | |
| | | |
| | | |
| | | /** |
| | | * 5.水位接近汛限告警 |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * 5.水位接近汛限告警--发送站内信 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | */ |
| | | @Async |
| | | public void waterComeOverHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode,Boolean isSendStation) { |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_is_warn_over_flse_api); |
| | | // 只发送站内信 |
| | | SmsRequestTemplate smsRequestTemplate = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterComeOverList,true,adCode,uuid, DangerEnum.DISTANCE.getValue()); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | public void waterComeOverHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation) { |
| | | String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | | // 遍历,拼接县水利部人员电话 |
| | |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | // 保存站内信记录信息 |
| | | noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule); |
| | | } |
| | | // 保存站内信记录信息 |
| | | noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 6.水位初次超汛限告警 处理 |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterFirstOverHandle(String templateId, String uuid, AlarmRule alarmRule,String adCode,Boolean isSendStation) { |
| | | public Map<String, Object> waterFirstOverHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_z_res_api); |
| | | String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterFirstOverList,true,adCode,uuid,DangerEnum.OVER.getValue()); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | |
| | | |
| | | /** |
| | | * 7.1 水位小幅超汛限告警(发松给 水库技术责任人、巡查责任人) |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @param uuid 变量 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterSmallScaleOverHandle1(String templateId, String uuid, AlarmRule alarmRule,String adCode,Boolean isSendStation) { |
| | | public Map<String, Object> waterSmallScaleOverHandle1(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterSmallScaleOverList,true,adCode,uuid,DangerEnum.ALREADY_OVER.getValue()); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | |
| | | |
| | | /** |
| | | * 7.2 水位小幅超汛限告警(发送给 县级水利部门有关人员、主管部门责任人) |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterSmallScaleOverHandle2(String templateId, String uuid, AlarmRule alarmRule,String adCode,Boolean isSendStation) { |
| | | public Map<String, Object> waterSmallScaleOverHandle2(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterSmallScaleOverList,true,adCode,uuid,DangerEnum.ALREADY_OVER.getValue()); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | |
| | | |
| | | /** |
| | | * 8.1 水位大幅超汛限告警(发松给 水库技术责任人、巡查责任人) |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterBigScaleOverHandle1(String templateId, String uuid, AlarmRule alarmRule,String adCode,Boolean isSendStation) { |
| | | public Map<String, Object> waterBigScaleOverHandle1(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_big_over_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterBigScaleOverList1,true,adCode,uuid,DangerEnum.ALREADY_BIG_OVER.getValue()); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | |
| | | |
| | | /** |
| | | * 8.2 水位大幅超汛限告警(发送给 县级水利部门有关人员、主管部门责任人) |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterBigScaleOverHandle2(String templateId, String uuid, AlarmRule alarmRule,String adCode,Boolean isSendStation) { |
| | | public Map<String, Object> waterBigScaleOverHandle2(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_big_over_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterBigScaleOverList2,true,adCode,uuid,DangerEnum.ALREADY_BIG_OVER.getValue()); |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size()>0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次拼接巡查责任人,技术责任人姓名联系电话 |
| | | noticeHandle.addPatrolTechnologyInfo(list,true); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | // noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid); |
| | | if (null != alarmRecord) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 10.水位超设计洪水位告警处理 |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * 策略9.1: 水位接近设计洪水位告警-短信 |
| | | * |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterMoreDesignHandle(String templateId, String uuid, AlarmRule alarmRule) { |
| | | public Map<String, Object> waterComeDesignHandleBySms(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_des_rz_warn_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.waterMoreDesignList, true, null,uuid,null); |
| | | = noticeHandle.getSendSmsTemplate(ztData, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 策略15: 已降大雨告警 |
| | | * 策略9.1: 水位接近设计洪水位告警-电话 |
| | | * |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> alreadyHeavyRainHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | public Map<String, Object> waterComeDesignHandleCall(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_dy_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.alreadyHeavyRainList, false, adCode,uuid,null); |
| | | = noticeHandle.getSendSmsTemplate(ztData, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 策略9.3: 水位接近设计洪水位告警-站内信 |
| | | * |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public void waterComeDesignHandleStation(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加行政责任人,主管部门责任人,技术责任人,巡查责任人信息(姓名,联系电话) |
| | | noticeHandle.addWaterMoreDesignPatrolTechnologyInfo(list, "1,2,4,5"); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | // 保存站内信记录信息 |
| | | noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 10.1 水位超设计洪水位告警处理--短信 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterMoreDesignHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加行政责任人,主管部门责任人,技术责任人,巡查责任人信息(姓名,联系电话) |
| | | noticeHandle.addWaterMoreDesignPatrolTechnologyInfo(list, "1,2,4,5"); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 10.水位超设计洪水位告警处理 - 电话 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterMoreDesignHandleCall(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 11.1 水位超校核洪水位告警--短信 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterMoreCheckHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加行政责任人,主管部门责任人,技术责任人,巡查责任人信息(姓名,联系电话) |
| | | noticeHandle.addWaterMoreDesignPatrolTechnologyInfo(list, "1,2,4,5"); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 11.2 水位超校核洪水位告警 - 电话 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterMoreCheckHandleCall(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 12 近1h水位陡升--短信 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterComeOneHourUpHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加行巡查责任人,技术责任人信息(姓名) |
| | | noticeHandle.addPatrolTechnologyInfo(list,false); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 13 近1h水位陡降--短信 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> waterComeOneHourDownHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加行巡查责任人,技术责任人信息(姓名) |
| | | noticeHandle.addPatrolTechnologyInfo(list,false); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 策略15: 已降大雨告警 |
| | | * |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> alreadyHeavyRainHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | |
| | | /** |
| | | * 策略16: 已降暴雨告警 |
| | | * |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> alreadyRainstormHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | public Map<String, Object> alreadyRainstormHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_by_api); |
| | | String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.alreadyRainstormList, false, adCode,uuid,null); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 策略18: 6小时降雨告警 |
| | | * 策略18: 6小时降雨告警--短信 |
| | | * |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> sixHourRainHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | public Map<String, Object> sixHourRainHandle(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.sixHourRainList, false, adCode,uuid,null); |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 策略18: 6小时降雨告警--电话 |
| | | * |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param ztData 告警数据 |
| | | * @param columnList 告警模板动态内容key |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区code用户过滤数据 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> sixHourRainHandleByCall(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray ztData, |
| | | List<String> columnList, |
| | | Boolean flag, |
| | | String adCode, |
| | | Boolean isSendStation, |
| | | String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // String uuid = alarmRuleDetail.getTemplateId() + UUID.randomUUID().toString(); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | map = smsService.sendSignMsg(smsRequestTemplate); |
| | | // 调用短信服务 |
| | | return map; |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRecord; |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail; |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRule; |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail; |
| | | import cn.gistack.alerts.alarmRule.service.AlarmRecordService; |
| | | import cn.gistack.alerts.notice.constant.ZtApiUrlConstant; |
| | | import cn.gistack.alerts.notice.constant.ZtConfigConstant; |
| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.shaded.com.google.gson.JsonObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | |
| | | /** |
| | | * 短信发送数据组装 |
| | | * |
| | | * @param jsonArray |
| | | * @param templateId |
| | | * @param alarmRule |
| | | * @param jsonArray 告警动态数据 |
| | | * @param alarmRule 告警规则信息 |
| | | * @param alarmRuleDetail 告警规则详情信息 |
| | | * @param columnsList 列名集合信息 |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区编号(是否过滤区县数据) |
| | | * @param uuid 本次执行临时编号 |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | public SmsRequestTemplate getSendSmsTemplate(JSONArray jsonArray, |
| | | String templateId, |
| | | AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | List<String> columnsList, |
| | | Boolean flag, |
| | | String adCode, |
| | | String uuid, |
| | | String dangerValue) { |
| | | Boolean isSendStation) { |
| | | // 通过模板id 查询模板相关信息 |
| | | SmsTemplate smsTemplate = smsTemplateService.getOne(new QueryWrapper<SmsTemplate>().eq("template_id",templateId).eq("is_deleted",0)); |
| | | SmsTemplate smsTemplate |
| | | = smsTemplateService.getOne(new QueryWrapper<SmsTemplate>().eq("id",alarmRuleDetail.getTemplateId()).eq("is_deleted",0)); |
| | | if (null != smsTemplate) { |
| | | // 创建消息发送对象 |
| | | SmsRequestTemplate smsRequestTemplate = new SmsRequestTemplate(); |
| | | // 设置是否发送站内信 |
| | | smsRequestTemplate.setIsSendStation(isSendStation); |
| | | // 设置告警信息 |
| | | smsRequestTemplate.setAlarmRule(alarmRule); |
| | | // 设置模板信息 |
| | | smsRequestTemplate.setSmsTemplate(smsTemplate); |
| | | // 解析模板并设置 title |
| | | smsRequestTemplate.setTitle(FormatUtil.composeMessage(smsTemplate.getContent())); |
| | | // 列名数据转换 |
| | | getColumnData(jsonArray, columnsList,smsRequestTemplate,alarmRule,flag,adCode,uuid,dangerValue); |
| | | getColumnData(jsonArray, columnsList,smsRequestTemplate,alarmRuleDetail.getAlarmPerson(),flag,adCode,uuid); |
| | | //返回 |
| | | return smsRequestTemplate; |
| | | } |
| | |
| | | |
| | | /** |
| | | * 列名数据转换 |
| | | * @param jsonArray |
| | | * @param columnsList |
| | | * @param smsRequestTemplate |
| | | * @param flag |
| | | * @param adCode |
| | | * @param uuid |
| | | * @param jsonArray 告警动态数据 |
| | | * @param columnsList 告警动态内容 key |
| | | * @param smsRequestTemplate 消息发送对象 |
| | | * @param roleIds 告警人员角色ids |
| | | * @param flag 告警内容是否日期 |
| | | * @param adCode 行政区 code ,用于过滤数据 |
| | | * @param uuid 用于过滤数据 |
| | | * @return |
| | | */ |
| | | private void getColumnData(JSONArray jsonArray, |
| | | List<String> columnsList, |
| | | SmsRequestTemplate smsRequestTemplate, |
| | | AlarmRule alarmRule, |
| | | String roleIds, |
| | | Boolean flag, |
| | | String adCode, |
| | | String uuid, |
| | | String dangerValue) { |
| | | String uuid) { |
| | | // 告警人员 |
| | | List<PersonVO> personLists = new ArrayList<>(); |
| | | // 告警内容 |
| | | List<List<String>> lists = new ArrayList<>(); |
| | | Set<String> set = new HashSet<>(); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | |
| | | // city_cd,county_cd 过滤数据 |
| | | String county_cd = jsonArray.getJSONObject(i).getString("county_cd"); |
| | | if (null!= county_cd && county_cd.equals(adCode)) { |
| | | jointData(jsonArray, columnsList, alarmRule, flag, personLists, lists, i,uuid,set,dangerValue); |
| | | jointData(jsonArray, columnsList, roleIds, flag, personLists, lists, i,uuid,set); |
| | | } |
| | | }else { |
| | | jointData(jsonArray, columnsList, alarmRule, flag, personLists, lists, i,uuid,set,dangerValue); |
| | | jointData(jsonArray, columnsList, roleIds, flag, personLists, lists, i,uuid,set); |
| | | } |
| | | } |
| | | // 设置信息 |
| | |
| | | |
| | | /** |
| | | * 拼接列数据设置告警人员信息 |
| | | * @param jsonArray |
| | | * @param columnsList |
| | | * @param alarmRule |
| | | * @param flag |
| | | * @param personLists |
| | | * @param lists |
| | | * @param i |
| | | * @param jsonArray 告警动态数据 |
| | | * @param columnsList 告警动态内容 key |
| | | * @param roleIds 告警人角色ids |
| | | * @param flag 告警内容是否日期 |
| | | * @param personLists 告警人 |
| | | * @param lists 告警内容 |
| | | * @param i 第几个 |
| | | * @return |
| | | */ |
| | | private void jointData(JSONArray jsonArray, |
| | | List<String> columnsList, |
| | | AlarmRule alarmRule, |
| | | String roleIds, |
| | | Boolean flag, |
| | | List<PersonVO> personLists, |
| | | List<List<String>> lists, |
| | | int i, |
| | | String uuid, |
| | | Set<String> set, |
| | | String dangerValue) { |
| | | Set<String> set) { |
| | | // 根据水库编号,所在区域查询需要发送的人员手机号及设置 |
| | | String res_cd = jsonArray.getJSONObject(i).getString("res_cd"); |
| | | String tempStr = uuid + res_cd; |
| | |
| | | flag = false; |
| | | } |
| | | // 获取告警人员信息 |
| | | getAlarmPersonList(jsonArray, columnsList, alarmRule, flag, personLists, lists, i, res_cd, day, hour, minute, stcd,dangerValue); |
| | | getAlarmPersonList(jsonArray, columnsList, roleIds, flag, personLists, lists, i, res_cd, day, hour, minute, stcd); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取告警人员信息 |
| | | * @param jsonArray |
| | | * @param columnsList |
| | | * @param alarmRule |
| | | * @param flag |
| | | * @param personLists |
| | | * @param lists |
| | | * @param i |
| | | * @param jsonArray 接口水库相关数据 |
| | | * @param columnsList 模板对应列key |
| | | * @param roleIds 告警人员角色ids |
| | | * @param flag 模板中是否填入时间 |
| | | * @param personLists 告警人员集合 |
| | | * @param lists 告警内容集合 |
| | | * @param i 第 i 个水库 |
| | | * @param res_cd 水库编码 |
| | | * @param day 日期 |
| | | * @param hour 小时 |
| | |
| | | */ |
| | | private void getAlarmPersonList(JSONArray jsonArray, |
| | | List<String> columnsList, |
| | | AlarmRule alarmRule, |
| | | String roleIds, |
| | | Boolean flag, |
| | | List<PersonVO> personLists, |
| | | List<List<String>> lists, |
| | |
| | | String day, |
| | | String hour, |
| | | String minute, |
| | | String stcd, |
| | | String dangerValue) { |
| | | String stcd) { |
| | | // 查询告警人员信息 |
| | | List<PersonVO> personVOList = getPersonListByResGuid(res_cd, alarmRule); |
| | | List<PersonVO> personVOList = getPersonListByResGuid(res_cd, roleIds); |
| | | if (personVOList.size() > 0) { |
| | | for (PersonVO personVO : personVOList) { |
| | | List<String> list = new ArrayList<>(); |
| | |
| | | for (String column : columnsList) { |
| | | String[] split = column.split(","); |
| | | String format = ""; |
| | | for (String s : split) { |
| | | // 超汛限水位 |
| | | if (s.equals("over_z")) { |
| | | String is_danger_res = "is_danger_res"; |
| | | if (jsonArray.getJSONObject(i).getString(is_danger_res).equals("true")) { |
| | | format = format + dangerValue + "控制运用水位" + jsonArray.getJSONObject(i).getString(s); |
| | | } else if (jsonArray.getJSONObject(i).getString(is_danger_res).equals("false")) { |
| | | format = format + dangerValue + "汛限水位" + jsonArray.getJSONObject(i).getString(s); |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } else if (s.equals("rz")) { |
| | | // 水位 |
| | | String rz = "rz"; |
| | | if (null==jsonArray.getJSONObject(i).getString(rz)) { |
| | | format = format + "无数据"; |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s) + "米"; |
| | | } |
| | | } else if (s.equals("alarm_val")) { |
| | | // 小时雨量 |
| | | String alarm_type = "alarm_type"; |
| | | if (null!=jsonArray.getJSONObject(i).getString(alarm_type) && !jsonArray.getJSONObject(i).getString(alarm_type).equals("")) { |
| | | format = format + jsonArray.getJSONObject(i).getString(alarm_type) + "小时坝前点雨量" + jsonArray.getJSONObject(i).getString(s); |
| | | }else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } |
| | | // 内容处理 |
| | | format = addAlarmContent(jsonArray, i, split, format); |
| | | // 加入集合 |
| | | list.add(format); |
| | | } |
| | | lists.add(list); |
| | | } |
| | | } |
| | | personLists.addAll(personVOList); |
| | | } |
| | | |
| | | /** |
| | | * 告警内容拼接处理 |
| | | * @param jsonArray 数据 |
| | | * @param i 第几个 |
| | | * @param split key 值 |
| | | * @param format 值结果 |
| | | * @return |
| | | */ |
| | | private String addAlarmContent(JSONArray jsonArray, int i,String[] split, String format) { |
| | | for (String s : split) { |
| | | // 超汛限水位 |
| | | if (s.equals("over_z")) { |
| | | String is_danger_res = "is_danger_res"; |
| | | if (jsonArray.getJSONObject(i).getString(is_danger_res).equals("true")) { |
| | | format = format + "控制运用水位" + jsonArray.getJSONObject(i).getString(s); |
| | | } else if (jsonArray.getJSONObject(i).getString(is_danger_res).equals("false")) { |
| | | format = format + "汛限水位" + jsonArray.getJSONObject(i).getString(s); |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } else if (s.equals("rz")) { |
| | | // 水位 |
| | | String rz = "rz"; |
| | | if (null==jsonArray.getJSONObject(i).getString(rz)) { |
| | | format = format + "无数据"; |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s) + "米"; |
| | | } |
| | | } else if (s.equals("alarm_val")) { |
| | | // 小时雨量 |
| | | String alarm_type = "alarm_type"; |
| | | if (null!=jsonArray.getJSONObject(i).getString(alarm_type) && !jsonArray.getJSONObject(i).getString(alarm_type).equals("")) { |
| | | format = format + jsonArray.getJSONObject(i).getString(alarm_type) + "小时坝前点雨量" + jsonArray.getJSONObject(i).getString(s); |
| | | }else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } else if (s.equals("diff_dam")) { |
| | | String over_chec_fl_stag = "over_chec_fl_stag"; |
| | | // 如果是超校核的需要判断超值 |
| | | if (null!=jsonArray.getJSONObject(i).getString(over_chec_fl_stag) && !jsonArray.getJSONObject(i).getString(over_chec_fl_stag).equals("")) { |
| | | // 校核,是否漫过坝顶(正数代表未漫过坝顶,负数则反之) |
| | | String diff_dam = jsonArray.getJSONObject(i).getString(s); |
| | | double parseDouble = Double.parseDouble(diff_dam); |
| | | if (parseDouble>0) { |
| | | format = format + "距离大坝坝顶仅" + jsonArray.getJSONObject(i).getString(s); |
| | | }else { |
| | | format = format + "已漫过坝顶" + (-parseDouble); |
| | | } |
| | | }else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } |
| | | // 返回 |
| | | return format; |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 查询告警人员信息 |
| | | * @param res_cd 水库 guid |
| | | * @param alarmRule |
| | | * @param roleIds 角色ids |
| | | * @return |
| | | */ |
| | | private List<PersonVO> getPersonListByResGuid(String res_cd,AlarmRule alarmRule) { |
| | | private List<PersonVO> getPersonListByResGuid(String res_cd,String roleIds) { |
| | | // 查询对应的角色信息 |
| | | List<String> roles = sysClient.getRoleNames(alarmRule.getAlarmPerson()).getData(); |
| | | List<String> roles = sysClient.getRoleNames(roleIds).getData(); |
| | | List<String> personList = new ArrayList<>(); |
| | | List<String> areaList = new ArrayList<>(); |
| | | // 遍历 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 依次添加巡查责任人,技术责任人信息(只有姓名) |
| | | * 依次添加巡查责任人,技术责任人信息 |
| | | * @param list |
| | | * @param isPhone 是否保护电话 |
| | | */ |
| | | public void addPatrolTechnologyInfo(List<String> list,Boolean isPhone) { |
| | | // 查询巡查责任人姓名,技术责任人姓名信息 |
| | |
| | | for (MessageRecord messageRecord : messageRecordList) { |
| | | // 通过手机号获取用户id信息 |
| | | R<List<User>> listR = userClient.userInfoByPhone("000000", messageRecord.getRecipient()); |
| | | messageRecord.setRecipient(listR.getData().get(0).getId().toString()); |
| | | if (listR.getData().size()>0) { |
| | | messageRecord.setRecipient(listR.getData().get(0).getId().toString()); |
| | | } |
| | | } |
| | | |
| | | // List<MessageRecord> messageRecordList1 = new ArrayList<>(); |
| | |
| | | package cn.gistack.alerts.notice.service.impl; |
| | | |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRecord; |
| | | import cn.gistack.alerts.alarmRule.entity.AlarmRule; |
| | | import cn.gistack.alerts.alarmRule.service.AlarmRecordService; |
| | | 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.ZtConfigConstant; |
| | | import cn.gistack.alerts.sms.service.ISmsTemplateService; |
| | | import cn.gistack.common.utils.SpringContextUtil; |
| | | import cn.gistack.alerts.notice.constant.PtInfoConstant; |
| | | import cn.gistack.alerts.notice.constant.ZtApiDataColumnConstant; |
| | | import cn.gistack.alerts.notice.constant.ZtApiUrlConstant; |
| | | import cn.gistack.alerts.notice.enums.PersonEnum; |
| | | import cn.gistack.alerts.notice.util.FormatUtil; |
| | | import cn.gistack.sm.sjztmd.vo.PersonVO; |
| | | import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient; |
| | | import cn.gistack.alerts.sms.entity.SmsTemplate; |
| | | import cn.gistack.alerts.sms.service.SmsService; |
| | | import cn.gistack.alerts.sms.vo.SmsRequestTemplate; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import org.jetbrains.annotations.NotNull; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpEntity; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.MultiValueMap; |
| | | import org.springframework.web.client.RestTemplate; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | |
| | | public class NoticeStrategyImpl { |
| | | |
| | | @Autowired |
| | | private SmsService smsService; |
| | | private AlarmRuleService alarmRuleService; |
| | | |
| | | @Autowired |
| | | private AlarmRuleService alarmRuleService; |
| | | private AlarmRuleDetailService alarmRuleDetailService; |
| | | |
| | | @Autowired |
| | | private NoticeHandle noticeHandle; |
| | |
| | | * @return |
| | | */ |
| | | public String waterInfoNotHandle(String arg1, String arg2) { |
| | | String templateId = "2431012216668"; |
| | | // String adCode = "421181000000"; |
| | | //String adCode = "421181000000"; |
| | | String adCode = null; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.no_z_last_api_all); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.waterInfoNotHandle(alarmRule,templateId,uuid,adCode,false); |
| | | // 查询告警详情信息 |
| | | 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 "水位信息接收不到"; |
| | |
| | | * @return |
| | | */ |
| | | public String waterDataExcHandle(String arg1, String arg2) { |
| | | String templateId = "2431012248591"; |
| | | //String adCode = "421181000000"; |
| | | String adCode = null; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_not_normal_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.waterDataExcHandle(alarmRule,templateId,uuid,adCode,false); |
| | | // 查询告警详情信息 |
| | | 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 "水位数据异常"; |
| | |
| | | * @return |
| | | */ |
| | | public String waterLessDeadHandle(String arg1, String arg2) { |
| | | String adCode = "420607000000"; |
| | | String adCode = "420881000000"; |
| | | // String adCode = null; |
| | | String templateId = "2431012248594"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_diff_dead_z_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.waterLessDeadHandle(templateId,uuid,alarmRule,adCode,false); |
| | | // 查询告警详情信息 |
| | | 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 "水位超低于死水位"; |
| | |
| | | */ |
| | | public String waterComeOverHandle(String arg1, String arg2) { |
| | | String adCode = null; |
| | | String templateId = "znxsw10000001"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | 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) { |
| | | asyncNoticeHandle.waterComeOverHandle(templateId,uuid,alarmRule, adCode,true); |
| | | // 查询告警详情信息 |
| | | 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: 水位初次超汛限告警 |
| | | * 策略6: 水位初次超汛限告警(当前测试发送站内信) |
| | | * |
| | | * @param arg1 |
| | | * @param arg2 |
| | |
| | | */ |
| | | public String waterFirstOverHandle(String arg1, String arg2) { |
| | | String adCode = "421303000000"; |
| | | String templateId = "2431012216671"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_z_res_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | // 短信发送 |
| | | asyncNoticeHandle.waterFirstOverHandle(templateId, uuid, alarmRule,adCode,true); |
| | | // 返回 |
| | | return "水位初次超汛限告警"; |
| | | // 查询告警详情信息 |
| | | 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 "水位初次超汛限告警"; |
| | |
| | | public String waterSmallScaleOverHandle(String arg1, String arg2) { |
| | | // String adCode = "421303000000"; |
| | | String adCode = null; |
| | | String templateId1 = "2431012216674"; |
| | | String templateId2 = "2431012248617"; |
| | | String uuid1 = templateId1 + UUID.randomUUID().toString(); |
| | | String uuid2 = templateId2 + UUID.randomUUID().toString(); |
| | | String[] split = arg1.split(","); |
| | | String uuid = UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule1 = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", split[0])); |
| | | AlarmRule alarmRule2 = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", split[1])); |
| | | // 发两个不同的模板 |
| | | if (null!=alarmRule1) { |
| | | // 短信发送 |
| | | asyncNoticeHandle.waterSmallScaleOverHandle1(templateId1, uuid1, alarmRule1,adCode,true); |
| | | } |
| | | if (null!=alarmRule2) { |
| | | // 短信发送 |
| | | asyncNoticeHandle.waterSmallScaleOverHandle2(templateId2, uuid2, alarmRule2,adCode,true); |
| | | 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 "水位小幅超汛限告警"; |
| | |
| | | public String waterBigScaleOverHandle(String arg1, String arg2) { |
| | | //String adCode = "421303000000"; |
| | | String adCode = null; |
| | | String templateId1 = "2431012248620"; |
| | | String templateId2 = "2431012248623"; |
| | | String uuid1 = templateId1 + UUID.randomUUID().toString(); |
| | | String uuid2 = templateId2 + UUID.randomUUID().toString(); |
| | | String[] split = arg1.split(","); |
| | | String uuid = UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule1 = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", split[0])); |
| | | AlarmRule alarmRule2 = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", split[1])); |
| | | // 发两个不同的模板 |
| | | if (null!=alarmRule1) { |
| | | // 短信发送 |
| | | asyncNoticeHandle.waterBigScaleOverHandle1(templateId1, uuid1, alarmRule1,adCode,true); |
| | | } |
| | | if (null!=alarmRule2) { |
| | | // 短信发送 |
| | | asyncNoticeHandle.waterBigScaleOverHandle2(templateId2, uuid2, alarmRule2,adCode,true); |
| | | 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 "水位大幅超汛限告警"; |
| | |
| | | * @return |
| | | */ |
| | | public String waterComeDesignHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | 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.waterComeDesignHandleCall(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 "水位接近设计洪水位告警"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | public String waterMoreDesignHandle(String arg1, String arg2) { |
| | | String templateId = "2431012248604"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | 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) { |
| | | // 异步处理,暂时解决超时重置问题 |
| | | Map<String, Object> map = asyncNoticeHandle.waterMoreDesignHandle(templateId, uuid, alarmRule); |
| | | // 返回 |
| | | return "水位超设计洪水位告警"; |
| | | // 查询告警详情信息 |
| | | 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.waterMoreDesignHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreDesignList,true, adCode, false,uuid); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | // 返回 |
| | | return "水位超设计洪水位告警"; |
| | |
| | | * @return |
| | | */ |
| | | public String waterMoreCheckHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | 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.waterMoreCheckHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreCheckList,true, adCode, false,uuid); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | // 返回 |
| | | return "水位超校核洪水位告警"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | public String waterComeOneHourUpHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | 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水位陡升"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | public String waterComeOneHourDownHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | 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水位陡降"; |
| | | } |
| | | |
| | | /** |
| | |
| | | public String alreadyHeavyRainHandle(String arg1, String arg2) { |
| | | //String adCode = "420607000000"; |
| | | String adCode = null; |
| | | String templateId = "2431012248569"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_dy_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.alreadyHeavyRainHandle(templateId,uuid,alarmRule,adCode,false); |
| | | // 查询告警详情信息 |
| | | 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 "已降大雨告警"; |
| | |
| | | public String alreadyRainstormHandle(String arg1, String arg2) { |
| | | //String adCode = "420607000000"; |
| | | String adCode = null; |
| | | String templateId = "2431012216683"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_by_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.alreadyRainstormHandle(templateId,uuid,alarmRule,adCode,false); |
| | | // 查询告警详情信息 |
| | | 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 "已降暴雨告警"; |
| | |
| | | */ |
| | | public String sixHourRainHandle(String arg1, String arg2) { |
| | | //String adCode = "420607000000"; |
| | | String uuid = UUID.randomUUID().toString(); |
| | | String adCode = null; |
| | | String templateId = "2431012216686"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.sixHourRainHandle(templateId,uuid,alarmRule,adCode,false); |
| | | // 查询告警详情信息 |
| | | 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.sixHourRainHandleByCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | // 返回 |
| | | return "6小时降雨告警"; |