skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -18,7 +18,6 @@ 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; @@ -28,8 +27,7 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; import java.util.List; import java.util.*; @Component public class NoticeHandle { @@ -49,6 +47,7 @@ @Autowired private RestTemplate restTemplate; /** @@ -196,7 +195,18 @@ String[] split = column.split(","); String format = ""; for (String s : split) { format = format + jsonArray.getJSONObject(i).getString(s); 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 { format = format + jsonArray.getJSONObject(i).getString(s); } } list.add(format); } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -220,7 +220,7 @@ } } // 保存站内信记录信息 smsService.saveInStationInfo(smsRequestTemplate); // smsService.saveInStationInfo(smsRequestTemplate); } return "水位接近汛限告警"; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
@@ -57,13 +57,6 @@ SmsRecord saveSendRecord(SMSSendRequest request,String code, String sendMsg, Long resultId); /** * 保存站内信记录信息 * @param smsRequestTemplate * @return */ Map<String, Object> saveInStationInfo(SmsRequestTemplate smsRequestTemplate); /** * 发送降雨短信 * @param params 发送对象 * @return skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -127,10 +127,12 @@ list.remove(list.size() - 1); // 删除 0 水库编码 list.remove(0); // 转换字符串 String row = String.join(",", list); // 组装数据 String[][] dyns = new String[][]{{smsRequestTemplate.getTitle()}, {row}}; String row = String.join(",", list); String[] titleArr = smsRequestTemplate.getTitle().split(","); String[][] dyns = new String[2][titleArr.length]; dyns[0] = titleArr; dyns[1] = row.split(","); //请求参数 ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns); @@ -313,59 +315,6 @@ map.put("resultComResult",resultComResult); map.put("errCount",count); //返回 return map; } /** * 保存站内信记录信息 * @param smsRequestTemplate * @return */ @Override public Map<String, Object> saveInStationInfo(SmsRequestTemplate smsRequestTemplate) { // 取出数据 SMSSendRequest request = new SMSSendRequest(); SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate(); request.setTemplateId(smsTemplate.getTemplateId()); List<List<String>> templateContent = smsRequestTemplate.getTemplateContent(); // 先保存结果记录 List<SmsRecord> smsRecordList = new ArrayList<>(); // 遍历处理 for (List<String> list : templateContent) { AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail(); alarmRecordDetail.setReservoirNumber(list.get(0)); alarmRecordDetail.setAlarmRecordId(Long.parseLong(list.get(list.size() - 1))); alarmRecordDetail.setAlarmMode("站内信"); // 未读 alarmRecordDetail.setStatus(1); // 删除 最后一个 告警记录id list.remove(list.size() - 1); // 删除 0 水库编码 list.remove(0); SmsRecord smsRecord = new SmsRecord(); alarmRecordDetail.setPhone(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); // 保存记录 alarmRecordDetail.setAlarmContent(format); alarmRecordDetail.setSendRecordId(smsRecord.getId()); alarmRecordDetail.setCreateTime(new Date()); // 保存告警记录详情信息 boolean save = alarmRecordDetailService.save(alarmRecordDetail); smsRecordList.add(smsRecord); } Map<String, Object> map = new HashMap<>(2); map.put("smsRecord",smsRecordList); // 返回 return map; }