燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-03-22 66e0127ba833721b3d615b804fa8a6f86beb8da1
src/main/java/com/yssh/service/EmailService.java
@@ -1,11 +1,13 @@
package com.yssh.service;
import com.yssh.mapper.QxshMapper;
import com.yssh.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
@@ -61,7 +63,16 @@
    private Integer hours;
    @Value("${email.names}")
    private Integer names;
    private String names;
    @Value("${email.title}")
    private String title;
    @Value("${email.enable}")
    private Boolean enable;
    @Resource
    private QxshMapper qxshMapper;
    private final static SimpleDateFormat YMDH = new SimpleDateFormat("yyyyMMddHH");
@@ -94,6 +105,10 @@
    public Boolean send(String title, String text) {
        try {
            if (!enable) {
                return null;
            }
            // 创建Session会话
            Session session = createSession();
@@ -126,28 +141,53 @@
    public int calcData() {
        List<String> list = new ArrayList<>();
        String[] strs = names.split(",");
        int count = countCsv(bigPath, hours);
        if (0 == count) {
            list.add("大CSV近 " + hours + " 小时存在文件缺失,");
            list.add(strs[0] + "近" + hours + "小时存在文件缺失,");
        }
        count = countCsv(filePath, hours);
        if (0 == count) {
            list.add("中CSV近 " + hours + " 小时存在文件缺失,");
            list.add(strs[1] + "近" + hours + "小时存在文件缺失,");
        }
        count = countCsv(vocPath, hours);
        if (0 == count) {
            list.add("小CSV近 " + hours + " 小时存在文件缺失,");
            list.add(strs[2] + "近" + hours + "小时存在文件缺失,");
        }
        Calendar calendar = getCalendar(1);
        calendar = getCalendar(0);
        Calendar calendar = getCalendar(0);
        Integer iEnd = Integer.parseInt(YMDH.format(calendar.getTime()));
        String sEnd = Y_M_D_H.format(calendar.getTime());
        calendar.add(Calendar.HOUR, 1 - hours);
        Integer iStart = Integer.parseInt(YMDH.format(calendar.getTime()));
        String sStart = Y_M_D_H.format(calendar.getTime());
        count = qxshMapper.countGcsjByTime(iStart, iEnd);
        if (0 == count) {
            list.add(strs[3] + "近" + hours + "小时存在数据缺失,");
        }
        count = qxshMapper.countQxshByTime(iStart, iEnd);
        if (0 == count) {
            list.add(strs[4] + "近" + hours + "小时存在数据缺失,");
        }
        count = qxshMapper.countSuYuan46ByTime(sStart, sEnd);
        if (0 == count) {
            list.add(strs[5] + "近" + hours + "小时存在数据缺失,");
        }
        count = qxshMapper.countSuYuan70ByTime(sStart, sEnd);
        if (0 == count) {
            list.add(strs[6] + "近" + hours + "小时存在数据缺失,");
        }
        count = qxshMapper.countSuYuanFastByTime(sStart, sEnd);
        if (0 == count) {
            list.add(strs[7] + "近" + hours + "小时存在数据缺失,");
        }
        int size = list.size();
        if (size > 0) {
            String text = String.join(",", list.toArray(new String[list.size()])) + "。";
            send(title, text);
        }
        return size;
    }