lizijie
2022-06-14 cb59966a148f601c41e77637be701fda04251d91
src/main/java/com/moral/task/HistoryTableInsertTask.java
@@ -27,6 +27,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
@@ -59,13 +60,17 @@
    @Resource
    private WeatherUtil weatherUtil;
    @Resource
    RedisTemplate redisTemplate;
    @XxlJob("historyMinutely")
    public ReturnT insertHistoryMinutelyTable(String params) {
        //正式环境使用
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:00");
        Date endTimeDate = new Date();
        Date startTimeDate = DateUtil.rollMinute(endTimeDate, -1);
        Date insertTimeDate = new Date();
        Date startTimeDate = DateUtil.rollMinute(insertTimeDate, -2);
        Date endTimeDate = DateUtil.rollMinute(insertTimeDate, -1);
        StringBuilder insertTime = new StringBuilder(sdf.format(insertTimeDate));
        StringBuilder endTime = new StringBuilder(sdf.format(endTimeDate));
        StringBuilder startTime = new StringBuilder(sdf.format(startTimeDate));
        String queryYearAndMonthDay = DateUtil.getYear(startTimeDate) + DateUtil.getMonth(startTimeDate) + DateUtil.getDay(startTimeDate);
@@ -94,21 +99,19 @@
            for (Map<String, Object> deviceData : minutelyData) {
                if (!ObjectUtils.isEmpty(deviceData)) {
                    Map<String, Object> minutelyDataMap = new LinkedHashMap<>();
                    JSONObject jo = new JSONObject(true);
                    Map<String, Object> map = new HashMap<>();
                    minutelyDataMap.put("mac", deviceData.get("mac"));
                    minutelyDataMap.put("time", endTime.toString());
                    JSONArray jsonArray = new JSONArray();
                    minutelyDataMap.put("time", insertTime.toString());
                    for (String key : deviceData.keySet()) {
                        if (!key.equals("mac") && !key.startsWith("M")) {
                            List<Object> date = new ArrayList<>();
                            date.add(deviceData.get(key));
                            date.add(deviceData.get("MIN" + key));
                            date.add(deviceData.get("MAX" + key));
                            jo.put(key, date);
                            map.put(key, date);
                        }
                    }
                    jsonArray.add(jo);
                    minutelyDataMap.put("json", jsonArray.get(0).toString());
                    minutelyDataMap.put("json", JSONObject.toJSONString(map));
                    minutelyDataList.add(minutelyDataMap);
                }
            }
@@ -125,6 +128,9 @@
            ReturnT returnT = new ReturnT(500, e.getMessage());
            return returnT;
        }
        List record = new ArrayList();
        record.add("repairMinutelyData_"+endTimeDate.getTime()/1000);
        redisTemplate.opsForList().leftPushAll("unrepair_data", record);
        ReturnT returnT = new ReturnT(500, "插入分钟表失败");
        return returnT;
    }
@@ -199,6 +205,9 @@
            e.printStackTrace();
        }
        ReturnT returnT = new ReturnT(500, "插入小时表失败");
        List record = new ArrayList();
        record.add("repairHourlyData_"+endTimeDate.getTime()/1000);
        redisTemplate.opsForList().leftPushAll("unrepair_data", record);
        return returnT;
    }