Commit b4a01dcf authored by hanbing's avatar hanbing

[update] 海信CID映射万集路口ID

parent 70f02bb0
...@@ -6,6 +6,7 @@ import io.netty.channel.SimpleChannelInboundHandler; ...@@ -6,6 +6,7 @@ import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.channel.socket.DatagramPacket; import io.netty.channel.socket.DatagramPacket;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.spring.ServiceBeanContext; import net.wanji.common.framework.spring.ServiceBeanContext;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.po.CrossInfoPO; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.utc.hisense.cache.CrossInfoCache; import net.wanji.utc.hisense.cache.CrossInfoCache;
import net.wanji.utc.hisense.cache.SignalDataCache; import net.wanji.utc.hisense.cache.SignalDataCache;
...@@ -17,17 +18,35 @@ import net.wanji.utc.hisense.netty.response.CommandResponseFactory; ...@@ -17,17 +18,35 @@ import net.wanji.utc.hisense.netty.response.CommandResponseFactory;
import net.wanji.utc.hisense.pojo.convert.RunningLightsStatusPojo; import net.wanji.utc.hisense.pojo.convert.RunningLightsStatusPojo;
import net.wanji.utc.hisense.pojo.netty.MessageResultPojo; import net.wanji.utc.hisense.pojo.netty.MessageResultPojo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@Slf4j @Slf4j
@Component @Component
public class NettyServerHandler extends SimpleChannelInboundHandler<DatagramPacket> { public class NettyServerHandler extends SimpleChannelInboundHandler<DatagramPacket> {
// 信号机ID和路口ID映射
private static final Map<String, String> signalMap = new HashMap<>();
@Autowired
private CrossInfoMapper crossInfoMapper;
@PostConstruct
public void init() {
List<CrossInfoPO> crossInfoPOList = crossInfoMapper.selectAll();
for (CrossInfoPO crossInfoPO : crossInfoPOList) {
String crossId = crossInfoPO.getId();
String signalCode = crossInfoPO.getCode();
signalMap.put(signalCode, crossId);
}
}
@Resource @Resource
private CrossInfoCache crossInfoCache; private CrossInfoCache crossInfoCache;
...@@ -54,9 +73,12 @@ public class NettyServerHandler extends SimpleChannelInboundHandler<DatagramPack ...@@ -54,9 +73,12 @@ public class NettyServerHandler extends SimpleChannelInboundHandler<DatagramPack
if (CommandResultSignEnum.GET_RUNNING_STATE_INFO.getClassName().equals(className)) { if (CommandResultSignEnum.GET_RUNNING_STATE_INFO.getClassName().equals(className)) {
// 直接set灯态缓存 // 直接set灯态缓存
RunningLightsStatusPojo pojo = (RunningLightsStatusPojo) resultPojo; RunningLightsStatusPojo pojo = (RunningLightsStatusPojo) resultPojo;
String crossId = pojo.getCID(); String signalCode = pojo.getCID();
String crossId = signalMap.get(signalCode);
Map<String, RunningLightsStatusPojo> cache = SignalDataCache.runningStateInfoCache; Map<String, RunningLightsStatusPojo> cache = SignalDataCache.runningStateInfoCache;
if (crossId != null) {
cache.put(crossId, pojo); cache.put(crossId, pojo);
}
return; return;
} }
......
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