Commit 36d19e31 authored by duanruiming's avatar duanruiming

[test] 动态检测测试数据

parent 04a213d9
...@@ -73,6 +73,9 @@ public class SignalCommandController { ...@@ -73,6 +73,9 @@ public class SignalCommandController {
@PostMapping("/lampStateControl") @PostMapping("/lampStateControl")
public JsonViewObject allRedControl(@RequestBody @Validated ControlCommandVO commandVO) { public JsonViewObject allRedControl(@RequestBody @Validated ControlCommandVO commandVO) {
Integer controlType = commandVO.getControlType(); Integer controlType = commandVO.getControlType();
if (true) {
return JsonViewObject.newInstance().success();
}
JsonViewObject jsonViewObject = JsonViewObject.newInstance(); JsonViewObject jsonViewObject = JsonViewObject.newInstance();
if (1 == controlType) { if (1 == controlType) {
jsonViewObject = utcFeignClients.allRedControl(commandVO); jsonViewObject = utcFeignClients.allRedControl(commandVO);
...@@ -86,7 +89,7 @@ public class SignalCommandController { ...@@ -86,7 +89,7 @@ public class SignalCommandController {
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("灯态控制UTC服务调用异常"); return jsonViewObject.fail("灯态控制UTC服务调用异常");
} }
controlHistMapper.insertOne(commandVO.getCrossCode(), controlType + 1); controlHistMapper.insertOne(commandVO.getCrossCode(), controlType + 1, "admin");
return jsonViewObject; return jsonViewObject;
} }
...@@ -94,11 +97,14 @@ public class SignalCommandController { ...@@ -94,11 +97,14 @@ public class SignalCommandController {
@ApiOperation(value = "步进控制-步进控制/恢复", notes = "步进控制-步进控制/恢复") @ApiOperation(value = "步进控制-步进控制/恢复", notes = "步进控制-步进控制/恢复")
@PostMapping("/stepControl") @PostMapping("/stepControl")
public JsonViewObject stepControl(@RequestBody @Validated StepControlVO stepControlVO) { public JsonViewObject stepControl(@RequestBody @Validated StepControlVO stepControlVO) {
if (true) {
return JsonViewObject.newInstance().success();
}
JsonViewObject jsonViewObject = utcFeignClients.stepControl(stepControlVO.getCode(), stepControlVO.getCommand(), stepControlVO.getStepNum()); JsonViewObject jsonViewObject = utcFeignClients.stepControl(stepControlVO.getCode(), stepControlVO.getCommand(), stepControlVO.getStepNum());
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("步进控制-步进控制/恢复UTC服务调用异常"); return jsonViewObject.fail("步进控制-步进控制/恢复UTC服务调用异常");
} }
controlHistMapper.insertOne(stepControlVO.getCode(), 7); controlHistMapper.insertOne(stepControlVO.getCode(), 7, "admin");
return jsonViewObject; return jsonViewObject;
} }
...@@ -110,7 +116,7 @@ public class SignalCommandController { ...@@ -110,7 +116,7 @@ public class SignalCommandController {
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("恢复时间表-恢复路口时间表执行UTC服务调用异常"); return jsonViewObject.fail("恢复时间表-恢复路口时间表执行UTC服务调用异常");
} }
controlHistMapper.insertOne(code, 1); controlHistMapper.insertOne(code, 1,"admin");
return jsonViewObject; return jsonViewObject;
} }
...@@ -121,7 +127,7 @@ public class SignalCommandController { ...@@ -121,7 +127,7 @@ public class SignalCommandController {
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常"); return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常");
} }
controlHistMapper.insertOne(lockControlVO.getCrossCode(), 4); controlHistMapper.insertOne(lockControlVO.getCrossCode(), 4, "admin");
return jsonViewObject; return jsonViewObject;
} }
......
package net.wanji.utc.task; package net.wanji.utc.task;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.extern.slf4j.Slf4j;
import net.wanji.utc.entity.SignalRunring;
import net.wanji.utc.po.SignalStatusLogPO; import net.wanji.utc.po.SignalStatusLogPO;
import net.wanji.utc.service.runninginfo.SignalStatusService; import net.wanji.utc.service.runninginfo.SignalStatusService;
import net.wanji.utc.vo.LightsStatusVO; import net.wanji.utc.vo.LightsStatusVO;
import net.wanji.utc.websocket.RealTimeDataWebSocket;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* 订阅信号运行状态、告警、灯态 * 订阅信号运行状态、告警、灯态
...@@ -16,6 +24,8 @@ import java.util.List; ...@@ -16,6 +24,8 @@ import java.util.List;
* @date 2022/11/21 9:01 * @date 2022/11/21 9:01
*/ */
@Component @Component
@Slf4j
@SuppressWarnings("all")
public class SignalStatusTask { public class SignalStatusTask {
@Autowired @Autowired
SignalStatusService signalStatusService; SignalStatusService signalStatusService;
...@@ -29,6 +39,35 @@ public class SignalStatusTask { ...@@ -29,6 +39,35 @@ public class SignalStatusTask {
// 灯态,5秒一次 // 灯态,5秒一次
@Scheduled(fixedRate = 5 * 1000) @Scheduled(fixedRate = 5 * 1000)
public void lightStatus() { public void lightStatus() {
List<LightsStatusVO> lightsStatusVOS = signalStatusService.lightStatus(); try {
ConcurrentHashMap<String, RealTimeDataWebSocket> evenWarnWebSocketMap = RealTimeDataWebSocket.getEvenWarnWebSocketMap();
if (!evenWarnWebSocketMap.isEmpty()) {
for (Map.Entry<String, RealTimeDataWebSocket> entry : evenWarnWebSocketMap.entrySet()) {
String crossId = entry.getKey();
RealTimeDataWebSocket webSocket = entry.getValue();
List<LightsStatusVO> lightsStatusVOS = new ArrayList<>();
// signalStatusService.lightStatus();
LightsStatusVO lightsStatusVO = new LightsStatusVO();
lightsStatusVO.setRunMode("4");
lightsStatusVO.setControlMode("22"); // 闪光
List<SignalRunring> runrings = new ArrayList<>();
SignalRunring signalRunring = new SignalRunring();
signalRunring.setLampStatus(22);
runrings.add(signalRunring);
lightsStatusVO.setRunrings(runrings);
lightsStatusVOS.add(lightsStatusVO);
webSocket.sendInfo(JSONObject.toJSONString(lightsStatusVOS, SerializerFeature.WriteMapNullValue), crossId);
}
}
} catch (Exception e) {
log.error("实时推送灯态数据失败", e);
}
} }
} }
...@@ -17,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap; ...@@ -17,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @author duanruiming * @author duanruiming
* @date 2023/01/06 8:58 * @date 2023/01/06 8:58
*/ */
@ServerEndpoint("/websocket/realTimeData/{crossId}") @ServerEndpoint("/signalStatus/{crossId}")
@Component @Component
@Slf4j @Slf4j
public class RealTimeDataWebSocket { public class RealTimeDataWebSocket {
...@@ -80,6 +80,7 @@ public class RealTimeDataWebSocket { ...@@ -80,6 +80,7 @@ public class RealTimeDataWebSocket {
/** /**
* 收到客户端消息后调用的方法 * 收到客户端消息后调用的方法
*
* @param message 客户端发送过来的消息 * @param message 客户端发送过来的消息
*/ */
@OnMessage @OnMessage
...@@ -128,11 +129,11 @@ public class RealTimeDataWebSocket { ...@@ -128,11 +129,11 @@ public class RealTimeDataWebSocket {
/** /**
* 发送自定义消息 * 发送自定义消息
*/ */
public static void sendInfo(String message, @PathParam("crossId") String crossId) throws IOException { public void sendInfo(String message, @PathParam("crossId") String crossId) throws IOException {
//log.info("发送消息到:" + crossId + ",报文:" + message); //log.info("发送消息到:" + crossId + ",报文:" + message);
if (StringUtils.isNotBlank(crossId) && evenWarnWebSocketMap.containsKey(crossId)) { if (StringUtils.isNotBlank(crossId) && evenWarnWebSocketMap.containsKey(crossId)) {
try { try {
evenWarnWebSocketMap.get(crossId).sendMessage(message); this.sendMessage(message);
} catch (Exception e) { } catch (Exception e) {
log.error("用户" + crossId + ",不在线!{}", e.getMessage()); log.error("用户" + crossId + ",不在线!{}", e.getMessage());
} }
......
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