guoshilong
2023-07-10 a0cead06018799c013305ccfcc2f4b95a564af45
Merge remote-tracking branch 'origin/jtdev' into jtdev
4 files modified
88 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java 18 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java 61 ●●●●● patch | view | raw | blame | history
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;
    }