| | |
| | | add("drp_24"); |
| | | }}; |
| | | |
| | | /** |
| | | * 已降大雨告警 |
| | | */ |
| | | public static List<String> alreadyHeavyRainList = new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("alarm_val"); |
| | | add("rz"); |
| | | }}; |
| | | |
| | | /** |
| | | * 已降暴雨告警 |
| | | */ |
| | | public static List<String> alreadyRainstormList = new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("alarm_val"); |
| | | add("rz"); |
| | | }}; |
| | | |
| | | /** |
| | | * 6小时降雨告警 |
| | | */ |
| | | public static List<String> sixHourRainList = new ArrayList<String>() |
| | | {{ |
| | | add("county_nm,town_nm"); |
| | | add("res_nm"); |
| | | add("alarm_val"); |
| | | add("rz"); |
| | | }}; |
| | | |
| | | } |
| | |
| | | /** |
| | | * 已降大雨告警 |
| | | */ |
| | | public static final String alam_rain_dy_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/dy/api"; |
| | | public static final String alarm_rain_dy_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/dy/api"; |
| | | |
| | | /** |
| | | * 已降暴雨告警 |
| | | */ |
| | | public static final String alam_rain_by_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/by/api"; |
| | | public static final String alarm_rain_by_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/by/api"; |
| | | |
| | | /** |
| | | * 6小时降雨告警 |
| | | */ |
| | | public static final String alam_rain_6_over_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/6/over/api"; |
| | | public static final String alarm_rain_6_over_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/6/over/api"; |
| | | |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 策略15: 已降大雨告警 |
| | | * |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> alreadyHeavyRainHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_dy_api); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.alreadyHeavyRainList, false, adCode,uuid); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加巡查责任人技术责任人信息姓名 |
| | | noticeHandle.addPatrolTechnologyInfo(list); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 策略16: 已降暴雨告警 |
| | | * |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> alreadyRainstormHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_by_api); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.alreadyRainstormList, false, adCode,uuid); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 依次添加巡查责任人技术责任人信息姓名 |
| | | noticeHandle.addPatrolTechnologyInfo(list); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 策略18: 6小时降雨告警 |
| | | * |
| | | * @param templateId |
| | | * @param uuid |
| | | * @param alarmRule |
| | | * @param adCode |
| | | * @param isSendStation 是否发送站内信 |
| | | * @return |
| | | */ |
| | | @Async |
| | | public Map<String, Object> sixHourRainHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api); |
| | | // 只发短信,将发短信信息组装好 |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.sixHourRainList, false, adCode,uuid); |
| | | // 拼接后面内容 |
| | | 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; |
| | | } |
| | | } |
| | |
| | | * @param alarmRule |
| | | * @param columnsList 列名集合信息 |
| | | * @param flag 是否包含日期 |
| | | * @param adCode 行政区编号 |
| | | * @param adCode 行政区编号(是否过滤区县数据) |
| | | * @param uuid 本次执行临时编号 |
| | | * @return |
| | | */ |
| | |
| | | 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 + "超过控制运用水位" + jsonArray.getJSONObject(i).getString(s); |
| | | }else if (jsonArray.getJSONObject(i).getString(is_danger_res).equals("false")){ |
| | | 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 { |
| | | } else { |
| | | format = format + jsonArray.getJSONObject(i).getString(s); |
| | | } |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | public String alreadyHeavyRainHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | //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)); |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.alreadyHeavyRainHandle(templateId,uuid,alarmRule,adCode,false); |
| | | } |
| | | // 返回 |
| | | return "已降大雨告警"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | public String alreadyRainstormHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | //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)); |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.alreadyRainstormHandle(templateId,uuid,alarmRule,adCode,false); |
| | | } |
| | | // 返回 |
| | | return "已降暴雨告警"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | public String sixHourRainHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | //String adCode = "420607000000"; |
| | | String adCode = null; |
| | | String templateId = "2431012216686"; |
| | | String uuid = templateId + UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | if (null!=alarmRule) { |
| | | asyncNoticeHandle.sixHourRainHandle(templateId,uuid,alarmRule,adCode,false); |
| | | } |
| | | // 返回 |
| | | return "6小时降雨告警"; |
| | | } |
| | | |
| | | } |
| | |
| | | List<MessageRecord> messageRecordList = new ArrayList<>(); |
| | | // 遍历处理 |
| | | for (List<String> list : templateContent) { |
| | | // 设置站内信记录信息 |
| | | MessageRecord messageRecord = new MessageRecord(); |
| | | messageRecord.setTheme(alarmRule.getRuleName()); |
| | | messageRecord.setSender(AuthUtil.getUserId().toString()); |
| | | messageRecord.setSource("智能告警"); |
| | | messageRecord.setStatus(0); |
| | | // 设置告警记录信息 |
| | | AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail(); |
| | | alarmRecordDetail.setReservoirNumber(list.get(0)); |
| | | alarmRecordDetail.setAlarmRecordId(Long.parseLong(list.get(list.size() - 1))); |
| | | alarmRecordDetail.setAlarmMode("短信"); |
| | | // 删除 最后一个 告警记录id |
| | | list.remove(list.size() - 1); |
| | | // 删除 0 水库编码 |
| | | list.remove(0); |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | if (null != smsResult){ |
| | | alarmRecordDetail.setPhone(list.get(0)); |
| | | messageRecord.setRecipient(list.get(0)); |
| | | // 设置手机号 |
| | | request.setUserNumber(list.get(0)); |
| | | // 内容处理 |
| | | String s = smsTemplate.getContent().replaceAll("\\{.+?\\}", "%s"); |
| | | // 短信内容拼接(完成发送的结果信息) |
| | | // 需要删除最前面的手机号 |
| | | // 校验手机号,发送短信时已校验 |
| | | if (validator(list.get(1))) { |
| | | // 设置站内信记录信息 |
| | | MessageRecord messageRecord = new MessageRecord(); |
| | | messageRecord.setTheme(alarmRule.getRuleName()); |
| | | messageRecord.setSender(AuthUtil.getUserId().toString()); |
| | | messageRecord.setSource("智能告警"); |
| | | messageRecord.setStatus(0); |
| | | // 设置告警记录信息 |
| | | AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail(); |
| | | alarmRecordDetail.setReservoirNumber(list.get(0)); |
| | | alarmRecordDetail.setAlarmRecordId(Long.parseLong(list.get(list.size() - 1))); |
| | | alarmRecordDetail.setAlarmMode("短信"); |
| | | // 删除 最后一个 告警记录id |
| | | list.remove(list.size() - 1); |
| | | // 删除 0 水库编码 |
| | | list.remove(0); |
| | | // 格式转换 |
| | | String format = String.format(s, list.toArray()); |
| | | // 设置内容 |
| | | request.setMessageContent(format); |
| | | messageRecord.setContent(format); |
| | | messageRecordList.add(messageRecord); |
| | | // 保存短信发送记录 |
| | | smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId()); |
| | | if (null != smsRecord){ |
| | | alarmRecordDetail.setAlarmContent(format); |
| | | alarmRecordDetail.setSendRecordId(smsRecord.getId()); |
| | | alarmRecordDetail.setCreateTime(new Date()); |
| | | // 保存告警记录详情信息 |
| | | boolean save = alarmRecordDetailService.save(alarmRecordDetail); |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | if (null != smsResult) { |
| | | alarmRecordDetail.setPhone(list.get(0)); |
| | | messageRecord.setRecipient(list.get(0)); |
| | | // 设置手机号 |
| | | request.setUserNumber(list.get(0)); |
| | | // 内容处理 |
| | | String s = smsTemplate.getContent().replaceAll("\\{.+?\\}", "%s"); |
| | | // 短信内容拼接(完成发送的结果信息) |
| | | // 需要删除最前面的手机号 |
| | | list.remove(0); |
| | | // 格式转换 |
| | | String format = String.format(s, list.toArray()); |
| | | // 设置内容 |
| | | request.setMessageContent(format); |
| | | messageRecord.setContent(format); |
| | | messageRecordList.add(messageRecord); |
| | | // 保存短信发送记录 |
| | | smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId()); |
| | | if (null != smsRecord) { |
| | | alarmRecordDetail.setAlarmContent(format); |
| | | alarmRecordDetail.setSendRecordId(smsRecord.getId()); |
| | | alarmRecordDetail.setCreateTime(new Date()); |
| | | // 保存告警记录详情信息 |
| | | boolean save = alarmRecordDetailService.save(alarmRecordDetail); |
| | | } |
| | | } |
| | | smsRecordList.add(smsRecord); |
| | | } |
| | | smsRecordList.add(smsRecord); |
| | | } |
| | | if (isSendStation) { |
| | | // 保存站内信信息 |