From 0431b108f80cf7f52e30b3a0ec4cc1adde435a70 Mon Sep 17 00:00:00 2001 From: "wenhua.zhou" Date: Tue, 12 Dec 2023 11:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xydl/service/impl/MqttServiceImpl.java | 68 ++++++++++++------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/xydl/service/impl/MqttServiceImpl.java b/src/main/java/com/xydl/service/impl/MqttServiceImpl.java index ab67eba..35fbea1 100644 --- a/src/main/java/com/xydl/service/impl/MqttServiceImpl.java +++ b/src/main/java/com/xydl/service/impl/MqttServiceImpl.java @@ -26,31 +26,31 @@ public class MqttServiceImpl { public void reportRecord() { List allTableNames = operationDBMapper.getAllTable(); for (String tableName : allTableNames) { - Map fieldMap = getTableFieldMap(tableName); - String sqlExecuting = operationDBMapper.getSQL(tableName); - List dataEqmids = operationDBMapper.getDataEqmids(tableName); - Map devIDLastTimeMap = new HashMap<>(); - List> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName); - for (Map map : devIDLastTimeMaps) { - for (String devId : map.keySet()) { - 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); - } + send(tableName); +// String sqlExecuting = operationDBMapper.getSQL(tableName); +// List dataEqmids = operationDBMapper.getDataEqmids(tableName); +// Map devIDLastTimeMap = new HashMap<>(); +// List> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName); +// for (Map map : devIDLastTimeMaps) { +// for (String devId : map.keySet()) { +// 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) { + //单个表数据发送 + public void send(String tableName) { Map fieldMap = new HashMap<>(); List> fieldMaps = operationDBMapper.getFieldMap(tableName); for (Map map : fieldMaps) { @@ -58,7 +58,29 @@ public class MqttServiceImpl { fieldMap.put(map.get("field_name"), map.get("dest_field_name")); } } - return fieldMap; + send(tableName, fieldMap); + } + + public void send(String tableName, Map fieldMap) { + String sqlExecuting = operationDBMapper.getSQL(tableName); + List dataEqmids = operationDBMapper.getDataEqmids(tableName); + Map devIDLastTimeMap = new HashMap<>(); + List> devIDLastTimeMaps = operationDBMapper.getDeviceIDAndtime(tableName); + for (Map map : devIDLastTimeMaps) { + for (String devId : map.keySet()) { + 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); + } } //推送单个设备数据