From 236972a79220fa9afbf78665e647fb9195ef0014 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 21 三月 2024 17:29:59 +0800
Subject: [PATCH] 添加计算数据接口

---
 src/main/java/com/yssh/service/EmailService.java |   80 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 78 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/yssh/service/EmailService.java b/src/main/java/com/yssh/service/EmailService.java
index 0611e4c..27f4710 100644
--- a/src/main/java/com/yssh/service/EmailService.java
+++ b/src/main/java/com/yssh/service/EmailService.java
@@ -4,13 +4,14 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
 
 import javax.mail.*;
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
-import java.util.Properties;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * 閭欢鏈嶅姟绫�
@@ -46,6 +47,22 @@
 
     @Value("${email.cc}")
     private String cc;
+
+    @Value("${csv.bigPath}")
+    private String bigPath;
+
+    @Value("${csv.filePath}")
+    private String filePath;
+
+    @Value("${csv.vocPath}")
+    private String vocPath;
+
+    @Value("${email.hours}")
+    private Integer hours;
+
+    private final static SimpleDateFormat YMDH = new SimpleDateFormat("yyyyMMddHH");
+
+    private final static SimpleDateFormat Y_M_D_H = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
     protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
@@ -102,4 +119,63 @@
             return false;
         }
     }
+
+    public int calcData() {
+        List<String> list = new ArrayList<>();
+
+        int count = countCsv(bigPath, hours);
+        if (0 == count) {
+            list.add("澶SV杩� " + hours + " 灏忔椂瀛樺湪鏂囦欢缂哄け锛�");
+        }
+        count = countCsv(filePath, hours);
+        if (0 == count) {
+            list.add("涓瑿SV杩� " + hours + " 灏忔椂瀛樺湪鏂囦欢缂哄け锛�");
+        }
+        count = countCsv(vocPath, hours);
+        if (0 == count) {
+            list.add("灏廋SV杩� " + hours + " 灏忔椂瀛樺湪鏂囦欢缂哄け锛�");
+        }
+
+        Calendar calendar = getCalendar(1);
+        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());
+
+        int size = list.size();
+
+        return size;
+    }
+
+    public int countCsv(String path, Integer hours) {
+        try {
+            int count = 0;
+            Calendar calendar = getCalendar(1);
+            for (int i = 0; i < hours; i++) {
+                calendar.add(Calendar.HOUR, -1);
+                String filePath = path + File.separator + YMDH.format(calendar.getTime()) + ".csv";
+                if (new File(filePath).exists()) {
+                    count++;
+                }
+            }
+
+            return count;
+        } catch (Exception ex) {
+            logger.error(ex.getMessage(), ex);
+            return 0;
+        }
+    }
+
+    public Calendar getCalendar(int start) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.HOUR, start);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+
+        return calendar;
+    }
 }

--
Gitblit v1.9.3