燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-03-22 763bcf516c97877a6bfd06e1554b8bef445f72ef
1
已修改2个文件
45 ■■■■ 文件已修改
src/main/java/com/yssh/service/EmailService.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-test.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/EmailService.java
@@ -74,6 +74,8 @@
    @Resource
    private QxshMapper qxshMapper;
    private static boolean isBusy = false;
    private final static SimpleDateFormat YMDH = new SimpleDateFormat("yyyyMMddHH");
    private final static SimpleDateFormat Y_M_D_H = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -138,9 +140,33 @@
        }
    }
    public int calcData() {
        List<String> list = new ArrayList<>();
    public Integer calcData() {
        try {
            if (isBusy) {
                return null;
            }
            isBusy = true;
            List<String> list = new ArrayList<>();
            calcCsvData(list);
            calcDbData(list);
            int size = list.size();
            if (size > 0) {
                String text = String.join("、", list.toArray(new String[list.size()])) + ",近" + hours + "小时内存在数据缺失。";
                send(title, text);
            }
            isBusy = false;
            return size;
        } catch (Exception ex) {
            logger.error(ex.getMessage(), ex);
            isBusy = false;
            return null;
        }
    }
    private void calcCsvData(List<String> list) {
        String[] strs = names.split(",");
        int count = countCsv(bigPath, hours);
        if (0 == count) {
@@ -154,7 +180,9 @@
        if (0 == count) {
            list.add(strs[2]);
        }
    }
    private void calcDbData(List<String> list) {
        Calendar calendar = getCalendar(0);
        Integer iEnd = Integer.parseInt(YMDH.format(calendar.getTime()));
        String sEnd = Y_M_D_H.format(calendar.getTime());
@@ -162,7 +190,8 @@
        Integer iStart = Integer.parseInt(YMDH.format(calendar.getTime()));
        String sStart = Y_M_D_H.format(calendar.getTime());
        count = qxshMapper.countGcsjByTime(iStart, iEnd);
        String[] strs = names.split(",");
        int count = qxshMapper.countGcsjByTime(iStart, iEnd);
        if (0 == count) {
            list.add(strs[3]);
        }
@@ -182,14 +211,6 @@
        if (0 == count) {
            list.add(strs[7]);
        }
        int size = list.size();
        if (size > 0) {
            String text = String.join("、", list.toArray(new String[list.size()])) + ",近" + hours + "小时内存在数据缺失。";
            send(title, text);
        }
        return size;
    }
    public int countCsv(String path, Integer hours) {
src/main/resources/application-test.yml
@@ -13,7 +13,7 @@
    names: 大CSV,中CSV,小CSV,观测数据,预测数据,溯源46,溯源70,快速溯源
    title: 数据预警
    times: '0 41 * * * ?'
    enable: false
    enable: true
# 数据源配置
spring: