| | |
| | | package com.moral.task; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.moral.entity.History; |
| | | import com.moral.mapper.HistoryMapper; |
| | | import com.moral.service.*; |
| | | import com.xxl.job.core.biz.model.ReturnT; |
| | | import com.xxl.job.core.handler.annotation.XxlJob; |
| | |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.temporal.ChronoUnit; |
| | |
| | | |
| | | @Resource |
| | | private HistoryHourlyService historyHourlyService; |
| | | |
| | | @Resource |
| | | private HistoryMapper historyMapper; |
| | | |
| | | @Resource |
| | | private OrganizationRelationService organizationRelationService; |
| | |
| | | devices.put("macs", macList); |
| | | devices.put("yearAndMonth", yearAndMonth); |
| | | List<Map<String, Object>> minutelyData = historyMinutelyService.getMinutelySensorData(devices); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | String yearMonthDay = sdf.format(new Date()); |
| | | History guodu = historyMapper.selectLastDataByMac(yearMonthDay, "jsxlqxpc000001"); |
| | | History baihua = historyMapper.selectLastDataByMac(yearMonthDay, "jsxlqxpc000002"); |
| | | Map<String,Object> guoduValue = JSONObject.parseObject(guodu.getValue().toString()); |
| | | JSONObject baihuaValue = JSONObject.parseObject(baihua.getValue().toString()); |
| | | guoduValue.put("mac","jsxlqxpc000001"); |
| | | baihuaValue.put("mac","jsxlqxpc000002"); |
| | | minutelyData.add(guoduValue); |
| | | minutelyData.add(baihuaValue); |
| | | XxlJobLogger.log("RabbitMQMinutelyData:" + minutelyData.size()); |
| | | if (!CollectionUtils.isEmpty(minutelyData)) { |
| | | for (Map<String, Object> deviceData : minutelyData) { |
| | |
| | | devices.put("end", endTime); |
| | | devices.put("macs", macList); |
| | | List<Map<String, Object>> minutelyData = historyHourlyService.getHourlySensorData(devices); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | String yearMonthDay = sdf.format(new Date()); |
| | | History guodu = historyMapper.selectLastDataByMac(yearMonthDay, "jsxlqxpc000001"); |
| | | History baihua = historyMapper.selectLastDataByMac(yearMonthDay, "jsxlqxpc000002"); |
| | | Map<String,Object> guoduValue = JSONObject.parseObject(guodu.getValue().toString()); |
| | | JSONObject baihuaValue = JSONObject.parseObject(baihua.getValue().toString()); |
| | | guoduValue.put("mac","jsxlqxpc000001"); |
| | | baihuaValue.put("mac","jsxlqxpc000002"); |
| | | minutelyData.add(guoduValue); |
| | | minutelyData.add(baihuaValue); |
| | | XxlJobLogger.log("RabbitMQHourlyData:" + minutelyData.size()); |
| | | if (!CollectionUtils.isEmpty(minutelyData)) { |
| | | for (Map<String, Object> deviceData : minutelyData) { |
| | |
| | | Map organizationIdMapNew = JSON.parseObject(params); |
| | | List<Integer> parentIdListNew = (List<Integer>) organizationIdMapNew.get("orgId"); |
| | | List<Integer> intersection = parentIdListNew.stream().filter(item -> parentIds.contains(item)).collect(Collectors.toList()); |
| | | System.out.println(deviceData); |
| | | System.out.println(intersection); |
| | | intersection.stream().forEach(parentId -> rabbitTemplate.convertAndSend(organization_data.getName(), "QiandengPark" + "." + mac, JSON.toJSONString(deviceData))); |
| | | } |
| | | } |