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); 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(); 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; @@ -61,6 +62,11 @@ } @Override public void createTableComplete(String timeUnits) { historyHourlyMapper.createTableComplete(timeUnits); } @Override public void insertHistoryHourly() { //时间格式化:yyyy-MM-dd HH:mm String format = DateUtils.yyyy_MM_dd_HH_EN; 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; } } 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=",">