From a8cdd1843f64f2630efa273efbddd438e058ebb1 Mon Sep 17 00:00:00 2001
From: zrj <646384940@qq.com>
Date: Thu, 27 Jun 2024 14:19:42 +0800
Subject: [PATCH] 降雨告警新增雨量站信息写入,接口查询变更,短信记录新增告警规则绑定
---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java | 11 +++++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java | 2
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java | 5 ++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java | 16 ++++---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java | 4 +-
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java | 2
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java | 4 +
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java | 22 +++++++----
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java | 5 ++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml | 5 +-
10 files changed, 53 insertions(+), 23 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java
index 8081f28..6b699d3 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java
@@ -45,4 +45,9 @@
*/
private String resMsg;
+ /**
+ * 告警规则id
+ */
+ private Long alarmRuleId;
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
index f006f2a..2762ffc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
@@ -103,6 +103,11 @@
public static final String alarm_rain_6_over_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/6/over/api";
/**
+ * 18. 6小时降雨告警2
+ */
+ public static final String alarm_rain_only_6_over_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/only/6/over/api";
+
+ /**
* 19. 大坝安全监测告警-数据缺失(2024.03.12分开渗压、渗流、变形)
*/
public static final String alarm_db_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/dt/sy/api";
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
index acf2879..1c08543 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
@@ -994,7 +994,9 @@
// 拼接市县水利部人员姓名及联系方式
noticeHandle.addCityCountyBusinessPersonInfo(list);
- String remark = list.get(9);
+ String remark = StringUtil.format("降雨:{}\n",
+ list.get(6) + "毫米"
+ );
// 保存告警记录信息
AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid, remark);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
index 6668d82..cd51d7c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
+++ b/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");
}
@@ -923,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;
+ }
/**
* 调用中台接口查询数据,返回结果不同处理
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
index 7529d73..e8b4490 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -274,7 +274,7 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api);
+ JSONArray ztData = noticeHandle.getZtData("?diff_value=0.2", ZtApiUrlConstant.res_over_z_small_over_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -617,7 +617,7 @@
}
/**
- * 策略18: 6小时降雨告警
+ * 策略18: 6小时降雨告警2
*
* @param arg1
* @param arg2
@@ -630,7 +630,9 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api);
+ JSONArray ztData = noticeHandle.getZtData("?drp=50", ZtApiUrlConstant.alarm_rain_only_6_over_api);
+ // 外呼对应数据
+ JSONArray whztData = noticeHandle.getZtData("?drp=100", ZtApiUrlConstant.alarm_rain_only_6_over_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -639,11 +641,11 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
-// asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid);
+ asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid);
}
- if (alarmRuleDetail.getAlarmMode().equals("电话")) {
- asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid);
- }
+// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
+// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, whztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid);
+// }
}
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
index 3f27079..d2cb092 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
@@ -87,7 +87,7 @@
// 发送操作
ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
// 记录发送记录操作
- SmsResult smsResult = smsService.saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
+ SmsResult smsResult = smsService.saveSendResult(null,resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
if (null != smsResult){
smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
}
@@ -117,7 +117,7 @@
// 发送操作
ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
// 记录发送记录操作
- SmsResult smsResult = smsService.saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
+ SmsResult smsResult = smsService.saveSendResult(null,resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
if (null != smsResult){
smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
index 48e2068..fb31821 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
@@ -60,7 +60,7 @@
request.setTemplateId(templateId);
request.setMessageContent(messageContent);
// 记录发送记录操作
- SmsResult smsResult = smsService.saveSendResult(code,msg,request, number);
+ SmsResult smsResult = smsService.saveSendResult(null,code,msg,request, number);
if (null != smsResult){
smsService.saveSendRecord(request, code,msg,smsResult.getId());
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
index 8e978c0..371bcb8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
@@ -8,9 +8,8 @@
sar.rule_name as ruleName,
sst.content templateContent,sst.sms_type as smsType
from sm_sms_result ssr
+ left join YWXT.sm_alarm_rule sar on sar.id = ssr.alarm_rule_id
left join sm_sms_template sst on sst.template_id = ssr.template_id and sst.is_deleted = 0
- left join YWXT.sm_alarm_rule_detail sard on sard.template_id = sst.id
- left join YWXT.sm_alarm_rule sar on sar.id = sard.alarm_rule_id
where 1=1 and ssr.is_deleted = 0
<if test="smsResult.templateId!=null and smsResult.templateId!=''">
and ssr.template_id = #{smsResult.templateId}
@@ -39,7 +38,7 @@
#{id}
</foreach>
</if>
- order by id desc
+ order by ssr.id desc
</select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
index d86ac93..aa1c17d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
@@ -47,7 +47,7 @@
* @param number
* @return
*/
- SmsResult saveSendResult(String code,String msg, SMSSendRequest request, Integer number);
+ SmsResult saveSendResult(Long alarmRuleId,String code,String msg, SMSSendRequest request, Integer number);
/**
* 短信发送记录保存
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
index 04f54b5..cd67ecd 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -103,7 +103,7 @@
List<ComResult<SMSSendDataResult>> list = new ArrayList<>();
if (phoneNumbers.size()>0){
// 先保存结果记录
- SmsResult smsResult = saveSendResult(null,null,request, phoneNumbers.size());
+ SmsResult smsResult = saveSendResult(null,null,null,request, phoneNumbers.size());
// 遍历发送
for (String phone : phoneNumbers) {
request.setUserNumber(phone);
@@ -213,6 +213,7 @@
SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate();
request.setTemplateId(smsTemplate.getTemplateId());
List<List<String>> templateContent = smsRequestTemplate.getTemplateContent();
+ AlarmRule alarmRule = smsRequestTemplate.getAlarmRule();
// 是否同时发送站内信
Boolean isSendStation = false;
if (null!=smsRequestTemplate.getIsSendStation()){
@@ -229,7 +230,7 @@
int count = Integer.parseInt(map.get("errCount").toString());
ComResult<DynSMSSendDataResult> resultComResult =(ComResult<DynSMSSendDataResult>) map.get("resultComResult");
// 保存短信结果记录
- SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, list.size() - count);
+ SmsResult smsResult = saveSendResult(alarmRule.getId(),resultComResult.getCode().toString(),resultComResult.getMsg(),request, list.size() - count);
// 保存详情记录(短信详情,告警详情)
List<SmsRecord> smsRecordList = saveAlertsAndSmsDetail(smsResult,resultComResult,smsRequestTemplate.getSmsTemplate(),
templateList,request,smsRequestTemplate.getAlarmRule(),isSendStation);
@@ -425,13 +426,14 @@
* @param number 号码个数
*/
@Override
- public SmsResult saveSendResult(String code,String msg, SMSSendRequest request, Integer number) {
+ public SmsResult saveSendResult(Long alarmRuleId,String code,String msg, SMSSendRequest request, Integer number) {
// 先保存结果表
SmsResult smsResult = new SmsResult();
smsResult.setTemplateId(request.getTemplateId());
smsResult.setNumber(number);
smsResult.setResCode(code);
smsResult.setResMsg(msg);
+ smsResult.setAlarmRuleId(alarmRuleId);
//插入记录
boolean save = smsResultService.save(smsResult);
if (save){
@@ -557,7 +559,7 @@
SMSSendRequest request = new SMSSendRequest();
request.setTemplateId(templateId);
// 先保存结果记录
- return saveSendResult(code,msg,request, rows.length);
+ return saveSendResult(null,code,msg,request, rows.length);
}
/**
@@ -775,6 +777,7 @@
SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate();
request.setTemplateId(smsTemplate.getTemplateId());
List<List<String>> templateContent = smsRequestTemplate.getTemplateContent();
+ AlarmRule alarmRule = smsRequestTemplate.getAlarmRule();
List<Temp> tempList = new ArrayList<>();
// 合并数据
for (List<String> list : templateContent) {
@@ -820,7 +823,7 @@
//请求参数
ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns);
// 先保存结果记录
- SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
+ SmsResult smsResult = saveSendResult(alarmRule.getId(),resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
// 设置手机号
request.setUserNumber(s);
// 内容处理
@@ -866,6 +869,7 @@
SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate();
request.setTemplateId(smsTemplate.getTemplateId());
List<List<String>> templateContent = smsRequestTemplate.getTemplateContent();
+ AlarmRule alarmRule = smsRequestTemplate.getAlarmRule();
List<Temp> tempList = new ArrayList<>();
// 合并数据
for (List<String> list : templateContent) {
@@ -933,7 +937,7 @@
//请求参数
ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns);
// 先保存结果记录
- SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
+ SmsResult smsResult = saveSendResult(alarmRule.getId(),resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
// 设置手机号
request.setUserNumber(s);
// 内容处理
@@ -985,6 +989,7 @@
SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate();
request.setTemplateId(smsTemplate.getTemplateId());
List<List<String>> templateContent = smsRequestTemplate.getTemplateContent();
+ AlarmRule alarmRule = smsRequestTemplate.getAlarmRule();
List<Temp> tempList = new ArrayList<>();
// 合并数据
for (List<String> list : templateContent) {
@@ -1052,7 +1057,7 @@
//请求参数
ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns);
// 先保存结果记录
- SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
+ SmsResult smsResult = saveSendResult(alarmRule.getId(),resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
// 设置手机号
request.setUserNumber(s);
// 内容处理
@@ -1156,6 +1161,7 @@
SmsTemplate smsTemplate,
List<String> rowList,
List<AlarmRecordDetailVO> alarmRecordDetailList) {
+ AlarmRule alarmRule = smsRequestTemplate.getAlarmRule();
// 组装数据
String[] titleArr = smsRequestTemplate.getTitle().split(",");
String[][] dyns = new String[rowList.size() + 1][titleArr.length];
@@ -1168,7 +1174,7 @@
//请求参数
ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns);
// 先保存结果记录
- SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, rowList.size());
+ SmsResult smsResult = saveSendResult(alarmRule.getId(),resultComResult.getCode().toString(),resultComResult.getMsg(),request, rowList.size());
List<AlarmRecordDetail> alarmRecordDetailArrayList = new ArrayList<>();
// 遍历
for (AlarmRecordDetailVO alarmRecordDetailVO : alarmRecordDetailList) {
--
Gitblit v1.9.3