From b085a13260ad46142af47cd58ac641c69a354cb1 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 22 Dec 2021 10:05:02 +0800 Subject: [PATCH] 包含最大值,最小值,平均值的小时表创建任务 --- screen-job/src/main/java/com/moral/api/service/HistoryHourlyService.java | 3 +++ screen-job/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java | 2 ++ screen-job/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java | 14 ++++++++++---- screen-job/src/main/resources/mapper/HistoryHourlyMapper.xml | 9 +++++++++ screen-job/src/main/java/com/moral/api/task/CreateTableTask.java | 13 +++++++++++++ 5 files changed, 37 insertions(+), 4 deletions(-) diff --git a/screen-job/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java b/screen-job/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java index fafa3e9..08cfbdd 100644 --- a/screen-job/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java +++ b/screen-job/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java @@ -18,6 +18,8 @@ void createTable(String timeUnits); + void createTableComplete(String timeUnits); + void insertHistoryHourly(List<Map<String, Object>> list); Integer selectCountByTime(Map<String, Object> params); diff --git a/screen-job/src/main/java/com/moral/api/service/HistoryHourlyService.java b/screen-job/src/main/java/com/moral/api/service/HistoryHourlyService.java index 79b3b37..a13dc79 100644 --- a/screen-job/src/main/java/com/moral/api/service/HistoryHourlyService.java +++ b/screen-job/src/main/java/com/moral/api/service/HistoryHourlyService.java @@ -19,6 +19,9 @@ //��������������� void createTable(String timeUnits); + //��������������������� + void createTableComplete(String timeUnits); + //������������������������ void insertHistoryHourly(); diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java index 7fe292a..62b2796 100644 --- a/screen-job/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java +++ b/screen-job/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java @@ -16,6 +16,7 @@ import com.moral.util.DateUtils; import com.moral.util.MybatisPLUSUtils; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -58,6 +59,11 @@ @Override public void createTable(String timeUnits) { historyHourlyMapper.createTable(timeUnits); + } + + @Override + public void createTableComplete(String timeUnits) { + historyHourlyMapper.createTableComplete(timeUnits); } @Override @@ -236,10 +242,10 @@ * @Date: 2021/9/23 */ @Override - public List<HistoryHourly> getValueByMacAndTime(String mac, Date startDate, Date endDate){ + public List<HistoryHourly> getValueByMacAndTime(String mac, Date startDate, Date endDate) { QueryWrapper<HistoryHourly> wrapper = new QueryWrapper<>(); - wrapper.eq("mac",mac); - wrapper.between("time",startDate,endDate); + wrapper.eq("mac", mac); + wrapper.between("time", startDate, endDate); List<String> tableNames = MybatisPLUSUtils.getTableNamesByWrapper(startDate, endDate, SeparateTableType.MONTH); List<HistoryHourly> datas = multiTableQuery(wrapper, tableNames); return datas; @@ -252,7 +258,7 @@ * @Author: ��������� * @Date: 2021/9/23 */ - private List<HistoryHourly> multiTableQuery(QueryWrapper<HistoryHourly> wrapper,List<String> tableNames){ + private List<HistoryHourly> multiTableQuery(QueryWrapper<HistoryHourly> wrapper, List<String> tableNames) { List<HistoryHourly> result = new ArrayList<>(); for (String tableName : tableNames) { MybatisPlusConfig.tableName.set(tableName); diff --git a/screen-job/src/main/java/com/moral/api/task/CreateTableTask.java b/screen-job/src/main/java/com/moral/api/task/CreateTableTask.java index 3b1fab3..514aa54 100644 --- a/screen-job/src/main/java/com/moral/api/task/CreateTableTask.java +++ b/screen-job/src/main/java/com/moral/api/task/CreateTableTask.java @@ -69,4 +69,17 @@ } return ReturnT.SUCCESS; } + + //��������������������������������������������������������������� + @XxlJob("createHistoryHourlyCompleteTable") + public ReturnT createHistoryHourlyCompleteTable(){ + String timeUnits = DateUtils.getDateStringOfMon(1, DateUtils.yyyyMM_EN); + try { + historyHourlyService.createTableComplete(timeUnits); + } catch (Exception e) { + XxlJobHelper.log(e.getMessage()); + return new ReturnT(ReturnT.FAIL_CODE, e.getMessage()); + } + return ReturnT.SUCCESS; + } } diff --git a/screen-job/src/main/resources/mapper/HistoryHourlyMapper.xml b/screen-job/src/main/resources/mapper/HistoryHourlyMapper.xml index 8f133ca..2c7cca4 100644 --- a/screen-job/src/main/resources/mapper/HistoryHourlyMapper.xml +++ b/screen-job/src/main/resources/mapper/HistoryHourlyMapper.xml @@ -12,6 +12,15 @@ ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '���������������' </update> + <update id="createTableComplete" parameterType="String"> + CREATE TABLE IF NOT EXISTS `history_hourly_complete_${timeUnits}` ( + `mac` VARCHAR (20) DEFAULT NULL COMMENT '������mac', + `time` datetime DEFAULT NULL COMMENT '������������', + `value` json DEFAULT NULL COMMENT '������', + KEY `idx_mac_time` (`mac`,`time`) + ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '���������������������������������������������������������' + </update> + <insert id="insertHistoryHourly"> INSERT INTO history_hourly_${timeUnits} VALUES <foreach collection="list" item="item" separator=","> -- Gitblit v1.8.0