| | |
| | | import com.moral.util.DateUtil; |
| | | import com.xxl.job.core.biz.model.ReturnT; |
| | | import com.xxl.job.core.handler.annotation.XxlJob; |
| | | import com.xxl.job.core.log.XxlJobLogger; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | |
| | | |
| | | @Resource |
| | | SensorService sensorService; |
| | | |
| | | @Resource |
| | | RedisTemplate redisTemplate; |
| | | |
| | | @XxlJob("createHistoryFiveMinutelyTb") |
| | | public ReturnT createHistoryMinutelyTb(String param) { |
| | |
| | | * 10:20:30 插入10:15--10:20的数据*/ |
| | | @XxlJob("insertHistoryFiveMinutelyTb") |
| | | public ReturnT insertHistoryFiveMinutely(String param) { |
| | | /*根据时间从分钟表数据钟查询五分钟数据的平均值*/ |
| | | Map<String, Object> params = getStartAndEndTime(); |
| | | List<String> sensorKeys = sensorService.getSensorKeys(); |
| | | params.put("sensorKeys", sensorKeys); |
| | | List<Map<String, Object>> fiveMinutesSensorDatas; |
| | | //获取当前时间 |
| | | Date errorDate = new Date(); |
| | | try { |
| | | /*根据时间从分钟表数据钟查询五分钟数据的平均值*/ |
| | | Map<String, Object> params = getStartAndEndTime(); |
| | | List<String> sensorKeys = sensorService.getSensorKeys(); |
| | | params.put("sensorKeys", sensorKeys); |
| | | List<Map<String, Object>> fiveMinutesSensorDatas; |
| | | fiveMinutesSensorDatas = historyFiveMinutelyService.getFiveMinutesSensorData(params); |
| | | } catch (Exception e) { |
| | | return new ReturnT(500, "查询分钟表数据失败"); |
| | | } |
| | | |
| | | /*将得到的数据进行转换*/ |
| | | List<Map<String, Object>> insertDatas; |
| | | try { |
| | | /*将得到的数据进行转换*/ |
| | | List<Map<String, Object>> insertDatas; |
| | | insertDatas = new ArrayList<>(); |
| | | for (Map<String, Object> data : fiveMinutesSensorDatas) { |
| | | String mac = (String) data.get("mac"); |
| | |
| | | insertDataMap.put("json", keyAndValueJson); |
| | | insertDatas.add(insertDataMap); |
| | | } |
| | | /*将数据插入数据库*/ |
| | | if (!ObjectUtils.isEmpty(insertDatas)) { |
| | | historyFiveMinutelyService.insertHistoryFiveMinutely(insertDatas, (String) params.get("yearAndMonth")); |
| | | return new ReturnT(200, "插入五分钟数据成功"); |
| | | } |
| | | } catch (Exception e) { |
| | | return new ReturnT(500, "数据转换异常"); |
| | | XxlJobLogger.log("historyFiveMinutelyException:" + e.getMessage()); |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | /*将数据插入数据库*/ |
| | | historyFiveMinutelyService.insertHistoryFiveMinutely(insertDatas, (String) params.get("yearAndMonth")); |
| | | return new ReturnT(200, "插入数据成功"); |
| | | List record = new ArrayList(); |
| | | record.add("repairFiveMinutelyData_" + errorDate.getTime() / 1000); |
| | | redisTemplate.opsForList().leftPushAll("unrepair_data", record); |
| | | return new ReturnT(500, "插入五分钟数据失败"); |
| | | } |
| | | |
| | | /** |