zhongrj
2023-07-26 6735eaad855055d7a7e1149f3a01ebff1e29005b
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;
   }
}