Commit af25ab33 authored by hanbing's avatar hanbing

[update] 快速特勤,自动解锁推送WebSocket

parent d28c245c
...@@ -21,5 +21,6 @@ public class Constant { ...@@ -21,5 +21,6 @@ public class Constant {
public static final String WEBSOCKET_TOPIC_SYS_SERVICE_STATUS = "sysStatus"; public static final String WEBSOCKET_TOPIC_SYS_SERVICE_STATUS = "sysStatus";
public static final String WEBSOCKET_TOPIC_CAR_TRAIL_INFO = "carTrailInfo"; public static final String WEBSOCKET_TOPIC_CAR_TRAIL_INFO = "carTrailInfo";
// WebSocket自动解锁路口topic
public static final String WEBSOCKET_AUTO_UNLOCK = "autoUnlock";
} }
...@@ -11,10 +11,12 @@ import net.wanji.databus.dao.mapper.BaseCrossInfoMapper; ...@@ -11,10 +11,12 @@ import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.BaseCrossInfoPO; import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.LockControlVO; import net.wanji.databus.vo.LockControlVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.common.constant.Constant;
import net.wanji.web.mapper.SpecialServiceCrossMapper; import net.wanji.web.mapper.SpecialServiceCrossMapper;
import net.wanji.web.mapper.SpecialServiceMapper; import net.wanji.web.mapper.SpecialServiceMapper;
import net.wanji.web.po.SpecialServiceCrossPO; import net.wanji.web.po.SpecialServiceCrossPO;
import net.wanji.web.po.SpecialServicePO; import net.wanji.web.po.SpecialServicePO;
import net.wanji.web.websocket.WebSocketServer;
import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.Geometry;
...@@ -30,6 +32,7 @@ import javax.annotation.PostConstruct; ...@@ -30,6 +32,7 @@ import javax.annotation.PostConstruct;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
...@@ -124,11 +127,18 @@ public class ConsumerHandler implements KafkaListenerErrorHandler { ...@@ -124,11 +127,18 @@ public class ConsumerHandler implements KafkaListenerErrorHandler {
if (carGeo.intersects(crossBuff)) { if (carGeo.intersects(crossBuff)) {
// 解锁 // 解锁
LockControlVO vo = new LockControlVO(); LockControlVO vo = new LockControlVO();
vo.setCrossCode(cross.getId()); String crossId = cross.getId();
vo.setCrossCode(crossId);
vo.setCommand(0); vo.setCommand(0);
vo.setDuration(999); vo.setDuration(999);
vo.setPhaseList(new ArrayList<>()); vo.setPhaseList(new ArrayList<>());
utcFeignClients.lockControl(vo); utcFeignClients.lockControl(vo);
// 给前端推送WebSocket
Set<WebSocketServer> events =
WebSocketServer.getWebSocketSet(Constant.WEBSOCKET_AUTO_UNLOCK);
for (WebSocketServer socketServer : events) {
socketServer.sendMessage(crossId);
}
} }
} }
} }
......
...@@ -35,7 +35,7 @@ public class SpecialServiceDetailVO { ...@@ -35,7 +35,7 @@ public class SpecialServiceDetailVO {
private String routeEnd; private String routeEnd;
@ApiModelProperty(value = "锁定状态:1锁定;0解锁") @ApiModelProperty(value = "锁定状态:1锁定;0解锁")
private Integer status; private Integer status;
@ApiModelProperty(name = "自动解锁:1是;0否",notes = "") @ApiModelProperty(name = "自动解锁:1是;0否")
private Integer autoUnlock ; private Integer autoUnlock ;
@ApiModelProperty(value = "路口顺序号") @ApiModelProperty(value = "路口顺序号")
private Integer sort; private Integer sort;
......
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