zhongrj
2023-06-06 1ca49515ace7d6ba4e18bb1b4d47837495771829
新增水位初次超汛限告警短信通知
3 files modified
85 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiDataColumnConstant.java 11 ●●●●● 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/NoticeStrategyImpl.java 69 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiDataColumnConstant.java
@@ -40,4 +40,15 @@
        add("rz");
    }};
    /**
     * 水位初次超汛限告警(水库技术责任人、巡查责任人)
     */
    public static List<String>  waterFirstOverList = new ArrayList<String>()
    {{
        add("town_nm");
        add("res_nm");
        add("rz");
        add("over_z");
    }};
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
@@ -23,4 +23,9 @@
     */
    public static final String res_diff_dead_z_api = "http://10.42.6.192/services/1234567890ABCDEFGHIJKLMN/res/diff_dead_z";
    /**
     *  水位初次超汛限告警
     */
    public static final String over_z_res_api = "http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/over_z_res";
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -66,7 +66,7 @@
     * @param templateId
     * @param alarmRule
     * @param columnsList 列名集合信息
     * @param flag
     * @param flag 是否包含日期
     * @return
     */
    private SmsRequestTemplate getSendSmsTemplate(JSONArray jsonArray,
@@ -210,6 +210,29 @@
    }
    /**
     * 依次添加巡查责任人,技术责任人信息
     * @param list
     */
    private void addPatrolTechnologyInfo(List<String> list) {
        // 查询巡查责任人姓名,技术责任人姓名信息
        List<PersonVO> personVOList = attResManagePersonClient.getPersonListByResGuid(list.get(0),"4,5");
        String xczrr = "";
        String jszrr = "";
        for (PersonVO personVO : personVOList) {
            if (personVO.getType().equals("5")){
                xczrr = personVO.getName();
            }
            if (personVO.getType().equals("4")){
                jszrr = personVO.getName();
            }
        }
        // 巡查责任人姓名
        list.add(xczrr);
        // 技术责任人姓名
        list.add(jszrr);
    }
    /**
     * 默认实现
     *
     * @param arg1 告警规则名称
@@ -349,22 +372,7 @@
            // 遍历,拼接县水利部人员电话
            for (List<String> list : smsRequestTemplate.getTemplateContent()) {
                // 后面依次拼接 巡查责任人姓名,技术责任人姓名,市县水利部门人员姓名电话(暂时不要)
                // 查询巡查责任人姓名,技术责任人姓名信息
                List<PersonVO> personVOList = attResManagePersonClient.getPersonListByResGuid(list.get(0),"4,5");
                String xczrr = "";
                String jszrr = "";
                for (PersonVO personVO : personVOList) {
                    if (personVO.getType().equals("5")){
                        xczrr = personVO.getName();
                    }
                    if (personVO.getType().equals("4")){
                        jszrr = personVO.getName();
                    }
                }
                // 巡查责任人姓名
                list.add(xczrr);
                // 技术责任人姓名
                list.add(jszrr);
                addPatrolTechnologyInfo(list);
                // 市县水利部门人员姓名电话(暂时不要)
//                list.add("测试:13112341234");
                // 保存告警记录信息
@@ -380,6 +388,8 @@
        return "水位接近汛限告警";
    }
    /**
     * 策略6: 水位初次超汛限告警
     *
@@ -388,8 +398,29 @@
     * @return
     */
    public String waterFirstOverHandle(String arg1, String arg2) {
        // 业务逻辑处理 2...
        return "";
        // 查询当前策略对应的告警规则信息
        AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
        if (null!=alarmRule) {
            // 调用中台服务接口查询数据
            JSONArray ztData = getZtData("", ZtApiUrlConstant.over_z_res_api);
            // 只发短信,将发短信信息组装好
            SmsRequestTemplate smsRequestTemplate
                = getSendSmsTemplate(ztData, "2431012216671",alarmRule, ZtApiDataColumnConstant.waterFirstOverList,true);
            // 拼接后面内容
            for (List<String> list : smsRequestTemplate.getTemplateContent()) {
                // 依次拼接巡查责任人,技术责任人姓名
                addPatrolTechnologyInfo(list);
                // 保存告警记录信息
                AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule);
                if (null != alarmRecord) {
                    list.add(alarmRecord.getId().toString());
                }
            }
            // 调用短信服务
            smsService.sendSignMsg(smsRequestTemplate);
        }
        // 返回
        return "水位初次超汛限告警";
    }
    /**