于紫祥_1901
2020-09-17 c21faf5a484f6bc52e252536d890e508a82ae222
走行车无人机特殊mac定时任务
2 files modified
21 ■■■■■ changed files
src/main/java/com/moral/task/HistoryTableInsertTask.java 19 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/HistoryMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/com/moral/task/HistoryTableInsertTask.java
@@ -1,14 +1,10 @@
package com.moral.task;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import javax.annotation.Resource;
@@ -332,10 +328,17 @@
    public ReturnT insertHistorySpecialTable(String params) {
        Map macMap = JSON.parseObject(params);
        List<String> macList = (List<String>) macMap.get("mac");
        LocalDateTime value = LocalDateTime.now();
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar calendar=Calendar.getInstance();
        Date date=calendar.getTime();
        String s=format.format(date);
        calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
        Date date1=calendar.getTime();
        String s1=format.format(date1);
        Map<String, Object> devices = new HashMap<>();
        devices.put("macList", macList);
        devices.put("time", value);
        devices.put("startTime", s);
        devices.put("endTime", s1);
        try {
            int count = historyService.insertHistorySpecialTable(devices);
            XxlJobLogger.log("insertHistorySpecialTable:" + count);
src/main/resources/mapper/HistoryMapper.xml
@@ -170,7 +170,7 @@
    <insert id="insertHistorySpecialTable">
        insert into
        history_special(mac, value, time,version)
        SELECT * from history WHERE time>=DATE_SUB(#{time}, INTERVAL 1 HOUR) and time<![CDATA[<]]>#{time} and mac in
        SELECT * from history WHERE time>=#{startTime} and time<![CDATA[<]]>#{endTime} and mac in
        <foreach collection="macList" index="index" item="mac" open="(" separator="," close=")">
            #{mac}
        </foreach>