diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalStatus.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalStatus.java
index fc140ce..7bde38e 100644
--- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalStatus.java
+++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalStatus.java
@@ -16,6 +16,8 @@ public class TerminalStatus implements Serializable {
private Integer lastHeartbeatPort;
+ private BigInteger lastBbDevTime;
+
private Integer lastFrameNo;
private Float batteryVoltage;
diff --git a/xymanager_dao/src/main/resources/mappers/TerminalStatusDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalStatusDao.xml
index cf2180f..0bf3e0b 100644
--- a/xymanager_dao/src/main/resources/mappers/TerminalStatusDao.xml
+++ b/xymanager_dao/src/main/resources/mappers/TerminalStatusDao.xml
@@ -6,6 +6,7 @@
+
@@ -461,6 +462,7 @@
set last_heartbeat = #{lastHeartbeat,jdbcType=BIGINT},
last_heartbeat_ip = #{lastHeartbeatIp,jdbcType=VARCHAR},
last_heartbeat_port = #{lastHeartbeatPort,jdbcType=SMALLINT},
+ last_hb_dev_time = #{lastBbDevTime,jdbcType=BIGINT},
last_frame_no = #{lastFrameNo,jdbcType=SMALLINT},
battery_voltage = #{batteryVoltage,jdbcType=REAL},
op_temperature = #{opTemperature,jdbcType=REAL},
diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/mqtt/handler/HeartbeatHandler.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/mqtt/handler/HeartbeatHandler.java
index 62ce69c..c263e8d 100644
--- a/xymanager_service/src/main/java/com/shxy/xymanager_service/mqtt/handler/HeartbeatHandler.java
+++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/mqtt/handler/HeartbeatHandler.java
@@ -33,8 +33,9 @@ public class HeartbeatHandler {
Date beatTime = DateUtil.parse(time, "yyyyMMddHHmmss");
TerminalStatus record = terminalStatusDao.selectByPrimaryKey(term.getId());
if (record != null) {
- record.setLastHeartbeat(BigInteger.valueOf(beatTime.getTime() / 1000));
- terminalStatusDao.updateByPrimaryKeySelective(record);
+ record.setLastBbDevTime(BigInteger.valueOf(beatTime.getTime() / 1000));
+ record.setLastHeartbeat(BigInteger.valueOf(System.currentTimeMillis() / 1000));
+ terminalStatusDao.updateByPrimaryKey(record);
}
}
}