jinpengyong
2021-12-22 b085a13260ad46142af47cd58ac641c69a354cb1
包含最大值,最小值,平均值的小时表创建任务
5 files modified
33 ■■■■■ changed files
screen-job/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java 2 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/HistoryHourlyService.java 3 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/task/CreateTableTask.java 13 ●●●●● patch | view | raw | blame | history
screen-job/src/main/resources/mapper/HistoryHourlyMapper.xml 9 ●●●●● patch | view | raw | blame | history
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=",">