降雨告警新增雨量站信息写入,接口查询变更,短信记录新增告警规则绑定
10 files modified
76 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java 4 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java 11 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java 22 ●●●●● patch | view | raw | blame | history
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;
}
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";
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);
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;
    }
    /**
     * 调用中台接口查询数据,返回结果不同处理
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);
//                    }
                }
            }
        }
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());
            }
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());
        }
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>
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);
    /**
     * 短信发送记录保存
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) {