Commit 7fea895d authored by duanruiming's avatar duanruiming

[update] 修改海信倒计时为相位倒计时

parent 24284475
......@@ -67,7 +67,6 @@ public class SignalStatusServiceImpl implements SignalStatusService {
}
SignalDataCache.runningStatusStampMap.put(crossId, signalMachineStamp);
}
log.error("推送数据时间差:{}ms, 海信推送数据时间戳:{}, 上一条数据时间戳:{}", signalMachineStamp - lastSignalMachineStamp, signalMachineStamp, lastSignalMachineStamp);
int cycleCountDown = content.getCycleCountDown();
int hiControlMode = content.getControlMode();
int period = content.getPeriod();
......@@ -102,6 +101,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
Integer wjTurn = DataBrainTurnEnum.getWjTurn(roadFlowDirection);
if (StringUtils.endsWithIgnoreCase(lampStatus, "23")) {
lightsStatusVO.setCyclePhaseCountDown(countDown);
lightsStatusVO.setCycleCountDown(countDown);
hisTurnList.add(wjTurn);
}
turnMap.put(String.valueOf(wjTurn), DataBrainLampStatusEnum.getWjLampStatus(lampStatus));
......
package net.wanji.utc.hisense.task;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.databus.vo.LightsStatusVO;
import net.wanji.utc.hisense.cache.SignalDataCache;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.Objects;
/**
* @author duanruiming
* @date 2023/09/20 14:25
*/
@Component
public class HisensePhaseCountDownTask {
@Scheduled(fixedRate = 1000, initialDelay = 1000)
public void phaseTimeCountDown() {
Map<String, LightsStatusVO> runningStateInfoCache4DataBrain = SignalDataCache.runningStateInfoCache4DataBrain;
Map<String, Long> runningStatusStampMap = SignalDataCache.runningStatusStampMap;
if (!runningStateInfoCache4DataBrain.isEmpty()) {
for (Map.Entry<String, LightsStatusVO> entry : runningStateInfoCache4DataBrain.entrySet()) {
String crossId = entry.getKey();
LightsStatusVO lightsStatusVO = entry.getValue();
String schemeStartTime = lightsStatusVO.getSchemeStartTime();
Long lastPhaseTimeStamp = runningStatusStampMap.get(crossId);
if (Objects.nonNull(lastPhaseTimeStamp) && StringUtils.equalsIgnoreCase(schemeStartTime, String.valueOf(lastPhaseTimeStamp))) {
lightsStatusVO.setCycleCountDown(lightsStatusVO.getCycleCountDown() - 1);
runningStateInfoCache4DataBrain.put(crossId, lightsStatusVO);
}
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment