From ce42e9a23ea05a64930de0ac9edc316ee97c68ca Mon Sep 17 00:00:00 2001 From: "zhczyx@163.com" Date: Sat, 16 May 2026 15:11:02 +0800 Subject: [PATCH] feat(dao&service): add updateTsOnly method and adjust log and logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增更新最新时间戳的DAO方法,在状态中断时仅更新lastTs并调整日志提示 --- .../com/techsor/datacenter/sender/dao/BaStatusDao.java | 8 ++++++++ .../sender/service/impl/DataProcessServiceImpl.java | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/techsor/datacenter/sender/dao/BaStatusDao.java b/src/main/java/com/techsor/datacenter/sender/dao/BaStatusDao.java index 1a2dd59..1daff13 100644 --- a/src/main/java/com/techsor/datacenter/sender/dao/BaStatusDao.java +++ b/src/main/java/com/techsor/datacenter/sender/dao/BaStatusDao.java @@ -69,6 +69,14 @@ public class BaStatusDao { return (rows>0); } + public Boolean updateTsOnly(BaStatusEntity entity) { + String sql= "UPDATE ba_status_statistics SET " + + "latest_ts = ?" + + "WHERE id = ?"; + int rows = jdbcTemplate.update(sql,entity.getLatest_ts(),entity.getId()); + return (rows>0); + } + public Boolean insertHistory(BaStatusHistoryEntity entity) { String sql = "INSERT INTO `ba_status_history` " + "(`device_info_id`, `is_running`, `update_ts`) " + diff --git a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java index 3dbdbb8..9d9c157 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java +++ b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java @@ -1538,7 +1538,8 @@ public class DataProcessServiceImpl implements IDataProcessService { updateData.setAggregatedRunningTime(historyData.getAggregatedRunningTime()); updateData.setContinuousRunningTime(0L); }else if (historyData.getIsRunning()==1){ - log.warn("Break due to last bs_status is start, the new bs_status is:"+value); + log.warn("Break due to last bs_status is start, Only update lastTs, the new bs_status is:"+value); + baStatusDao.updateTsOnly(updateData); return; // log.info("bs_status: process [start],last status [start]"); // Long tsPeriod = (System.currentTimeMillis()-Long.parseLong(historyData.getLatest_ts())); @@ -1554,7 +1555,8 @@ public class DataProcessServiceImpl implements IDataProcessService { updateData.setLastStopTime(System.currentTimeMillis()); //check history data's status if (historyData.getIsRunning()==0){ - log.warn("Break due to last bs_status is stop, the new bs_status is:"+value); + log.warn("Break due to last bs_status is stop, Only update lastTs, the new bs_status is:"+value); + baStatusDao.updateTsOnly(updateData); return; }else if (historyData.getIsRunning()==1){ log.info("bs_status: process [stop],last status [start]");