降雨告警新增雨量站信息写入,接口查询变更,短信记录新增告警规则绑定
| | |
| | | */ |
| | | private String resMsg; |
| | | |
| | | /** |
| | | * 告警规则id |
| | | */ |
| | | private Long alarmRuleId; |
| | | |
| | | } |
| | |
| | | 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"; |
| | |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | |
| | | String remark = list.get(9); |
| | | String remark = StringUtil.format("降雨:{}\n", |
| | | list.get(6) + "毫米" |
| | | ); |
| | | |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid, remark); |
| | |
| | | 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; |
| | |
| | | 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"); |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 调用中台接口查询数据,返回结果不同处理 |
| | |
| | | // 查询当前策略对应的告警规则信息 |
| | | 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) { |
| | | // 查询告警详情信息 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 策略18: 6小时降雨告警 |
| | | * 策略18: 6小时降雨告警2 |
| | | * |
| | | * @param arg1 |
| | | * @param arg2 |
| | |
| | | // 查询当前策略对应的告警规则信息 |
| | | 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) { |
| | | // 查询告警详情信息 |
| | |
| | | // 遍历 |
| | | 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); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | |
| | | // 发送操作 |
| | | 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()); |
| | | } |
| | |
| | | // 发送操作 |
| | | 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()); |
| | | } |
| | |
| | | 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()); |
| | | } |
| | |
| | | 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} |
| | |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | order by id desc |
| | | order by ssr.id desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | * @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); |
| | | |
| | | /** |
| | | * 短信发送记录保存 |
| | |
| | | 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); |
| | |
| | | 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()){ |
| | |
| | | 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); |
| | |
| | | * @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){ |
| | |
| | | SMSSendRequest request = new SMSSendRequest(); |
| | | request.setTemplateId(templateId); |
| | | // 先保存结果记录 |
| | | return saveSendResult(code,msg,request, rows.length); |
| | | return saveSendResult(null,code,msg,request, rows.length); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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) { |
| | |
| | | //请求参数 |
| | | 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); |
| | | // 内容处理 |
| | |
| | | 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) { |
| | |
| | | //请求参数 |
| | | 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); |
| | | // 内容处理 |
| | |
| | | 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) { |
| | |
| | | //请求参数 |
| | | 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); |
| | | // 内容处理 |
| | |
| | | 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]; |
| | |
| | | //请求参数 |
| | | 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) { |