Commit af25ab33 authored by hanbing's avatar hanbing

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

parent d28c245c
......@@ -21,5 +21,6 @@ public class Constant {
public static final String WEBSOCKET_TOPIC_SYS_SERVICE_STATUS = "sysStatus";
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;
import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.LockControlVO;
import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.common.constant.Constant;
import net.wanji.web.mapper.SpecialServiceCrossMapper;
import net.wanji.web.mapper.SpecialServiceMapper;
import net.wanji.web.po.SpecialServiceCrossPO;
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.ConsumerRecord;
import org.locationtech.jts.geom.Geometry;
......@@ -30,6 +32,7 @@ import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
/**
......@@ -124,11 +127,18 @@ public class ConsumerHandler implements KafkaListenerErrorHandler {
if (carGeo.intersects(crossBuff)) {
// 解锁
LockControlVO vo = new LockControlVO();
vo.setCrossCode(cross.getId());
String crossId = cross.getId();
vo.setCrossCode(crossId);
vo.setCommand(0);
vo.setDuration(999);
vo.setPhaseList(new ArrayList<>());
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 {
private String routeEnd;
@ApiModelProperty(value = "锁定状态:1锁定;0解锁")
private Integer status;
@ApiModelProperty(name = "自动解锁:1是;0否",notes = "")
@ApiModelProperty(name = "自动解锁:1是;0否")
private Integer autoUnlock ;
@ApiModelProperty(value = "路口顺序号")
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