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 +++++++++++++++++++++++++++++++++++++++- src/main/resources/application-dev.yml | 1 src/main/resources/application-prod.yml | 1 src/main/resources/application-test.yml | 1 src/main/resources/application-file.yml | 1 src/main/resources/mapper/QxshMapper.xml | 20 ++++++++++ src/main/java/com/yssh/controller/EmailController.java | 7 +++ 7 files changed, 109 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/yssh/controller/EmailController.java b/src/main/java/com/yssh/controller/EmailController.java index cfc7588..ab30513 100644 --- a/src/main/java/com/yssh/controller/EmailController.java +++ b/src/main/java/com/yssh/controller/EmailController.java @@ -34,4 +34,11 @@ return Result.OK(flag); } + + @ApiOperationSupport(order = 1) + @GetMapping("/calcData") + @ApiOperation(value = "璁$畻鏁版嵁", notes = "璁$畻鏁版嵁") + public Result calcData() { + return Result.OK(emailService.calcData()); + } } 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; + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 1d8d438..ec4ed57 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -9,6 +9,7 @@ from: 252740454@qq.com to: wuweiwei@terra-it.cn cc: zhengliusuo@smartearth.cn + hours: 6 # 鏁版嵁婧愰厤缃� spring: diff --git a/src/main/resources/application-file.yml b/src/main/resources/application-file.yml index 6bd846f..dec74df 100644 --- a/src/main/resources/application-file.yml +++ b/src/main/resources/application-file.yml @@ -4,6 +4,7 @@ filePath3d: E:\yssh_data\dat\correct_jk_47.dat #csv閰嶇疆璺緞 csv: + bigPath: E:\yssh_data\BIG filePath: E:\yssh_data\LBM-NEW vocPath: E:\yssh_data\VOC_ALL #鏃�/鍛�/鏈堟姤璺緞 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 8332976..4b72906 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -9,6 +9,7 @@ from: 252740454@qq.com to: wuweiwei@terra-it.cn cc: zhengliusuo@smartearth.cn + hours: 6 # 鏁版嵁婧愰厤缃� spring: diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 4ed1d85..47c738b 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -9,6 +9,7 @@ from: 252740454@qq.com to: wuweiwei@terra-it.cn cc: zhengliusuo@smartearth.cn + hours: 6 # 鏁版嵁婧愰厤缃� spring: diff --git a/src/main/resources/mapper/QxshMapper.xml b/src/main/resources/mapper/QxshMapper.xml index 528dc56..670457d 100644 --- a/src/main/resources/mapper/QxshMapper.xml +++ b/src/main/resources/mapper/QxshMapper.xml @@ -136,4 +136,24 @@ where time = #{time} and name = #{name} limit 1; </select> + + <select id="countGcsjByTime" resultType="java.lang.Integer"> + select count(*) from yssh_gcsj where time between #{start} and #{end}; + </select> + + <select id="countQxshByTime" resultType="java.lang.Integer"> + select count(*) from yssh_qxsh where time between #{start} and #{end}; + </select> + + <select id="countSuYuan46ByTime" resultType="java.lang.Integer"> + select count(*) from suyuan_46 where create_time between #{start} and #{end}; + </select> + + <select id="countSuYuan70ByTime" resultType="java.lang.Integer"> + select count(*) from suyuan_70_70 where create_time between #{start} and #{end}; + </select> + + <select id="countSuYuanFastByTime" resultType="java.lang.Integer"> + select count(*) from suyuan_fast where create_time between #{start} and #{end}; + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3