diff --git a/src/main/java/com/xydl/controller/TestController.java b/src/main/java/com/xydl/controller/TestController.java index 165d9dd..51af007 100644 --- a/src/main/java/com/xydl/controller/TestController.java +++ b/src/main/java/com/xydl/controller/TestController.java @@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.ResponseBody; @Controller @Slf4j public class TestController { -// private static final Logger logger = LoggerFactory.getLogger(TestController.class); @RequestMapping("/test") @ResponseBody diff --git a/src/main/java/com/xydl/schedule/ReportSchedule.java b/src/main/java/com/xydl/schedule/ReportSchedule.java index d451b13..8868e33 100644 --- a/src/main/java/com/xydl/schedule/ReportSchedule.java +++ b/src/main/java/com/xydl/schedule/ReportSchedule.java @@ -11,7 +11,6 @@ import org.springframework.stereotype.Component; @Component @Slf4j public class ReportSchedule { -// private static final Logger logger = LoggerFactory.getLogger(ReportSchedule.class); @Autowired MqttServiceImpl mqttServiceimpl; diff --git a/src/main/java/com/xydl/service/impl/MqttServiceImpl.java b/src/main/java/com/xydl/service/impl/MqttServiceImpl.java index 1edb619..13922be 100644 --- a/src/main/java/com/xydl/service/impl/MqttServiceImpl.java +++ b/src/main/java/com/xydl/service/impl/MqttServiceImpl.java @@ -15,7 +15,6 @@ import java.util.stream.Collectors; @Service @Slf4j public class MqttServiceImpl { -// private static final Logger logger = LoggerFactory.getLogger(MqttServiceImpl.class); @Autowired OperationDB operationDBMapper; @@ -27,30 +26,9 @@ public class MqttServiceImpl { public void reportRecord() { List allTableNames = operationDBMapper.getAllTable(); for (String tableName : allTableNames) { - Map fieldMap = new HashMap<>(); - List> fieldMaps = operationDBMapper.getFieldMap(tableName); - for (Map map : fieldMaps) { - for (String key : map.keySet()) { - fieldMap.put(map.get("field_name"), map.get("dest_field_name")); - } - } - + Map fieldMap = getTableFieldMap(tableName); String sqlExecuting = operationDBMapper.getSQL(tableName); List dataEqmids = operationDBMapper.getDataEqmids(tableName); -// List syncDevIds = operationDBMapper.getSyncRecordDevIds(tableName); -// if (dataEqmids.size() != syncDevIds.size()) { -// List distinctDevids = dataEqmids.stream().filter(e -> !syncDevIds.contains(e)).collect(Collectors.toList()); -// for (Integer devId : distinctDevids) { -// String earliestTime = null; -// if ("data_eaif_h".equals(tableName)) { -// earliestTime = operationDBMapper.getEarliestTime4Eaif(tableName, devId); -// } else { -// earliestTime = operationDBMapper.getEarliestTime4Other(tableName, devId); -// } -// operationDBMapper.addEarliestTime(10, tableName, String.valueOf(devId), earliestTime); -// } -// } - Map devIDLastTimeMap = new HashMap<>(); List> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName); for (Map map : devIDLastTimeMaps) { @@ -58,20 +36,31 @@ public class MqttServiceImpl { devIDLastTimeMap.put(Integer.parseInt((String) map.get("devid_val")), map.get("field_val2")); } } - for (int deviceID : dataEqmids) { String time = ""; if(devIDLastTimeMap.get(deviceID) !=null){ time = devIDLastTimeMap.get(deviceID).toString(); }else{ time = "2000-01-01 01:00:00"; + operationDBMapper.addEarliestTime(10, tableName, String.valueOf(deviceID), time); } - publishData(deviceID, time, sqlExecuting, tableName, fieldMap); } } } + //单个表的字段映射 + public Map getTableFieldMap(String tableName){ + Map fieldMap = new HashMap<>(); + List> fieldMaps = operationDBMapper.getFieldMap(tableName); + for (Map map : fieldMaps) { + for (String key : map.keySet()) { + fieldMap.put(map.get("field_name"), map.get("dest_field_name")); + } + } + return fieldMap; + } + //推送单个设备数据 public void publishData(int deviceID, String time, String sqlExecuting, String tableName, Map fieldMap) { @@ -81,6 +70,7 @@ public class MqttServiceImpl { String jsonStringData = FormatUtil.mqttFormatTransform(dataOfoneDeviceID, fieldMap); try { if (mqttUtil.publish2MQTT(jsonStringData)) { + //insert operationDBMapper.updateSyncRecordsTable(tableName, deviceID, time); log.info("表{}设备{}推送成功:{}", tableName, deviceID, jsonStringData); } diff --git a/src/main/java/com/xydl/util/FormatUtil.java b/src/main/java/com/xydl/util/FormatUtil.java index 0063c76..6711e1e 100644 --- a/src/main/java/com/xydl/util/FormatUtil.java +++ b/src/main/java/com/xydl/util/FormatUtil.java @@ -45,10 +45,5 @@ public class FormatUtil { } -// public static void main(String[] args) { -// System.out.println(Timestamp.valueOf("2022-05-01 12:11:00").getTime()); -// System.out.println(new Timestamp(new Date(Timestamp.valueOf("2022-05-01 12:11:00").getTime()).getTime())); -// } - } diff --git a/src/main/java/com/xydl/util/MqttUtil.java b/src/main/java/com/xydl/util/MqttUtil.java index 38e3b7f..de217ef 100644 --- a/src/main/java/com/xydl/util/MqttUtil.java +++ b/src/main/java/com/xydl/util/MqttUtil.java @@ -1,11 +1,8 @@ package com.xydl.util; -import com.xydl.service.impl.MqttServiceImpl; import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -15,7 +12,6 @@ import java.util.Date; @Component @Slf4j public class MqttUtil { -// private static final Logger logger = LoggerFactory.getLogger(MqttServiceImpl.class); @Value("${mqtt.broker}") private String broker; @@ -41,16 +37,8 @@ public class MqttUtil { public boolean publish2MQTT(String content){ -// String broker = "tcp://139.196.211.222:10883"; -// String topic = "mqtt/test"; -// String content = "Hello MQTT"; -// int qos = 0; -// String username = "test"; -// String password = "AliOS%1688"; - String clientid = "publish_client"; MqttClient client; MqttDeliveryToken token; -// System.out.println("broker: "+broker); try { client = new MqttClient(broker, publishClientid, new MemoryPersistence()); } catch (MqttException e) { diff --git a/src/main/java/com/xydl/util/Subscribe.java b/src/main/java/com/xydl/util/Subscribe.java index 73670a9..696e259 100644 --- a/src/main/java/com/xydl/util/Subscribe.java +++ b/src/main/java/com/xydl/util/Subscribe.java @@ -14,7 +14,6 @@ import java.util.Date; @Component @Slf4j public class Subscribe { -// private static final Logger logger = LoggerFactory.getLogger(MqttServiceImpl.class); @Autowired MqttUtil mqttUtil;