Commit 8243e136 authored by duanruiming's avatar duanruiming

[update] 优化实时灯态

parent 0d37910c
......@@ -21,6 +21,9 @@ public interface UtcFeignCommon {
@PostMapping("/signalStatus/runningStatusAlarm")
JsonViewObject runningStatusAlarm();
@PostMapping("/signalStatus/runningStatusAlarm")
JsonViewObject runningStatusAlarm(String crossId);
@PostMapping("/signalStatus/lightStatus")
JsonViewObject lightStatus();
......
......@@ -2,10 +2,19 @@ package net.wanji.utc.task;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.ManufacturerInfoPO;
import net.wanji.databus.po.SignalStatusLogPO;
import net.wanji.databus.vo.LightsStatusVO;
import net.wanji.feign.service.UtcDTFeignClients;
import net.wanji.utc.common.constant.Constants;
import net.wanji.utc.common.typeenum.BasicEnum;
import net.wanji.utc.service.runninginfo.HkLightsStatusService;
import net.wanji.utc.service.runninginfo.SignalStatusService;
import net.wanji.utc.websocket.RealTimeDataWebSocket;
......@@ -37,6 +46,12 @@ public class SignalStatusTask {
@Resource
private HkLightsStatusService hkLightsStatusService;
@Resource
private ManufacturerInfoMapper manufacturerInfoMapper;
@Resource
private CrossInfoMapper crossInfoMapper;
@Resource
private UtcDTFeignClients utcDTFeignClients;
private static Map<String, List<LightsStatusVO>> lightStatusCache = new HashMap<>();
private static final Map<String, Integer> runModeTimeMap = new ConcurrentHashMap<>();
......@@ -63,7 +78,16 @@ public class SignalStatusTask {
}
long start = System.currentTimeMillis();
List<LightsStatusVO> lightsStatusVOS = hkLightsStatusService.getHkLightsStatus(crossId);
List<LightsStatusVO> lightsStatusVOS = null;
CrossInfoPO crossInfoPO = crossInfoMapper.selectByPrimaryKey(crossId);
ManufacturerInfoPO manufacturerInfoPO = manufacturerInfoMapper.selectById(crossInfoPO.getManufacturerId());
if (StringUtils.equals(BasicEnum.ManufacturerEnum.HK.getCode(), manufacturerInfoPO.getCode())) {
lightsStatusVOS = hkLightsStatusService.getHkLightsStatus(crossId);
} else {
JsonViewObject jsonViewObject = utcDTFeignClients.runningStatusAlarm(crossId);
ObjectMapper mapper = new ObjectMapper();
lightsStatusVOS = mapper.convertValue(jsonViewObject.getContent(), new TypeReference<List<LightsStatusVO>>() {});
}
long end = System.currentTimeMillis();
log.info("当前路口编号:{},海康返回灯态时间:{}ms", crossId, (end - start));
......
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