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]");