| | |
| | | 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.*; |
| | | |
| | | /** |
| | | * 邮件服务类 |
| | |
| | | |
| | | @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()); |
| | | |
| | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public int calcData() { |
| | | List<String> list = new ArrayList<>(); |
| | | |
| | | int count = countCsv(bigPath, hours); |
| | | if (0 == count) { |
| | | list.add("大CSV近 " + hours + " 小时存在文件缺失,"); |
| | | } |
| | | count = countCsv(filePath, hours); |
| | | if (0 == count) { |
| | | list.add("中CSV近 " + hours + " 小时存在文件缺失,"); |
| | | } |
| | | count = countCsv(vocPath, hours); |
| | | if (0 == count) { |
| | | list.add("小CSV近 " + 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; |
| | | } |
| | | } |