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); } } }