skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiDataColumnConstant.java
@@ -64,4 +64,37 @@ 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"); }}; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
@@ -50,16 +50,16 @@ /** * 已降大雨告警 */ 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"; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
@@ -224,4 +224,117 @@ 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; } } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -78,7 +78,7 @@ * @param alarmRule * @param columnsList 列名集合信息 * @param flag 是否包含日期 * @param adCode 行政区编号 * @param adCode 行政区编号(是否过滤区县数据) * @param uuid 本次执行临时编号 * @return */ @@ -234,6 +234,7 @@ 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")) { @@ -243,6 +244,22 @@ }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); } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -307,8 +307,17 @@ * @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 "已降大雨告警"; } /** @@ -319,8 +328,17 @@ * @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 "已降暴雨告警"; } /** @@ -343,8 +361,17 @@ * @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小时降雨告警"; } } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -274,6 +274,8 @@ List<MessageRecord> messageRecordList = new ArrayList<>(); // 遍历处理 for (List<String> list : templateContent) { // 校验手机号,发送短信时已校验 if (validator(list.get(1))) { // 设置站内信记录信息 MessageRecord messageRecord = new MessageRecord(); messageRecord.setTheme(alarmRule.getRuleName()); @@ -318,6 +320,7 @@ } smsRecordList.add(smsRecord); } } if (isSendStation) { // 保存站内信信息 noticeHandle.saveMessageRecord(messageRecordList);