zrj
2024-08-22 4fa63d4db1e87adabe5b40a4d5fb4e8b10276def
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -37,6 +37,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
@@ -203,6 +204,9 @@
      if (!set.contains(tempStr)) {
         set.add(tempStr);
         String stcd = jsonArray.getJSONObject(i).getString("stcd");
         if (StringUtil.isBlank(stcd)) {
            stcd = jsonArray.getJSONObject(i).getString("rain_stcd");
         }
         if (StringUtil.isBlank(stcd)) {
            stcd = jsonArray.getJSONObject(i).getString("cd");
         }
@@ -598,10 +602,10 @@
         .eq("temp_code", uuid)
         .eq("alarm_rule_id", alarmRule.getId())
         .eq("reservoir_number", list.get(1))
         .eq("alarm_survey_station_code",list.get(0))
//         .eq("alarm_survey_station_code",list.get(0))
      );
      if (null != alarmRecord) {
      if (null!=alarmRecord) {
         //删除测值
         list.remove(3);
         // 删除测站编号
@@ -619,19 +623,8 @@
         alarm.setMonitorData(list.get(3));
         //删除测值
         list.remove(3);
         //一个水库同个规则中保存一次处理--Shit mountain code
         AlarmRecord alarmRecord2 = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>()
            .eq("alarm_rule_id", alarmRule.getId())
            .eq("reservoir_number", list.get(1))
            .gt("create_time", DateUtil.format(new Date(),"yyyy-MM-dd"))
         );
         boolean save = true;
         if (null == alarmRecord2) {
            // 新增
            save = alarmRecordService.save(alarm);
         }
         // 新增
         boolean save = alarmRecordService.save(alarm);
         // 删除测站编号
         list.remove(0);
         if (save) {
@@ -644,12 +637,12 @@
   public AlarmRecord saveAlarmRecord(List<String> list, AlarmRule alarmRule, String uuid, String remark) {
      AlarmRecord alarmRecord = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>()
         .eq("temp_code", uuid)
            .eq("temp_code", uuid)
            .eq("alarm_rule_id", alarmRule.getId())
            .eq("reservoir_number", list.get(1))
            .eq("alarm_survey_station_code",list.get(0))
//         .eq("alarm_survey_station_code",list.get(0))
      );
      if (null != alarmRecord) {
      if (null!=alarmRecord) {
         //删除测值
         list.remove(3);
         // 删除测站编号
@@ -934,6 +927,13 @@
      return null;
   }
   public Map<String, String> jsonObjectToMap(JSONObject jsonObject) {
      Map<String, String> map = new HashMap<>();
      for (String key : jsonObject.keySet()) {
         map.put(key, jsonObject.get(key).toString());
      }
      return map;
   }
   /**
    * 调用中台接口查询数据,返回结果不同处理
@@ -1003,6 +1003,8 @@
         messageRecord.setSender(AuthUtil.getUserId().toString());
         messageRecord.setSource("智能告警");
         messageRecord.setStatus(0);
         messageRecord.setAlarmRuleId(alarmRule.getId());
         messageRecord.setTemplateId(smsTemplate.getTemplateId());
         // 设置告警记录信息
         AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail();
         alarmRecordDetail.setReservoirNumber(list.get(0));
@@ -1087,6 +1089,8 @@
         messageRecord.setSource("智能告警");
         messageRecord.setStatus(0);
         messageRecord.setRecipient(phone);
         messageRecord.setTemplateId(smsTemplate.getTemplateId());
         messageRecord.setAlarmRuleId(alarmRule.getId());
         StringBuilder builder = new StringBuilder();
@@ -1165,6 +1169,8 @@
         messageRecord.setSource("智能告警");
         messageRecord.setStatus(0);
         messageRecord.setRecipient(phone);
         messageRecord.setTemplateId(smsTemplate.getTemplateId());
         messageRecord.setAlarmRuleId(alarmRule.getId());
         List<String> resCdList = new ArrayList<>();
         Map<String, List<Temp>> resCollect = temps.stream().collect(Collectors.groupingBy(Temp::getReservoirCode));
@@ -1237,6 +1243,8 @@
         messageRecord.setSource("智能告警");
         messageRecord.setStatus(0);
         messageRecord.setRecipient(phone);
         messageRecord.setTemplateId(smsTemplate.getTemplateId());
         messageRecord.setAlarmRuleId(alarmRule.getId());
         List<String> contentList = new ArrayList<>();
         //因为只能按编号分组,名称会有重复,所以拿第一条数据的名称就行
         temps.forEach(info -> {
@@ -1360,7 +1368,7 @@
      }
      map.put("list", mapList);
      map.put("scenesId", smsRequestTemplate.getSmsTemplate().getTemplateId());
      String taskName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss")) + smsRequestTemplate.getAlarmRule().getRuleName() + "智能外呼";
      String taskName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss")) +"-"+ smsRequestTemplate.getAlarmRule().getRuleName() + "-智能外呼";
      map.put("taskName", taskName);
      String taskScheduleTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
      map.put("taskScheduleTime", taskScheduleTime);