Browse Source

feat:添加websocket 报警推送

master
guoapeng 6 months ago
parent
commit
f7852c0ef0
  1. 2
      src/main/java/com/qyft/gd/model/vo/WebsocketResult.java
  2. 3
      src/main/java/com/qyft/gd/service/CMDService.java
  3. 20
      src/main/java/com/qyft/gd/service/warnService.java

2
src/main/java/com/qyft/gd/model/vo/WebsocketResult.java

@ -11,5 +11,5 @@ public class WebsocketResult {
/** /**
* 执行结果 * 执行结果
*/ */
private ExecutionResult data;
private Object data;
} }

3
src/main/java/com/qyft/gd/service/CMDService.java

@ -143,7 +143,6 @@ public class CMDService {
private Boolean injectFluid(CMDForm cmdForm) { private Boolean injectFluid(CMDForm cmdForm) {
List<Supplier<Boolean>> cmdList = new ArrayList<>(); List<Supplier<Boolean>> cmdList = new ArrayList<>();
// TODO 计算出试管的坐标 // TODO 计算出试管的坐标
// TODO 获取加液位是否有试管(传感器?)
// TODO 溶液id 容量 // TODO 溶液id 容量
Map<String, Object> params = cmdForm.getParams(); Map<String, Object> params = cmdForm.getParams();
cmdList.add(() -> deviceService.addLiquid((String) params.get("pumpId"), ((Integer)params.get("volume")))); cmdList.add(() -> deviceService.addLiquid((String) params.get("pumpId"), ((Integer)params.get("volume"))));
@ -180,7 +179,7 @@ public class CMDService {
return false; return false;
} }
WebsocketResult websocketResult = new WebsocketResult(); WebsocketResult websocketResult = new WebsocketResult();
websocketResult.setType("cmd");
websocketResult.setType("warn");
ExecutionResult executionResult = new ExecutionResult(); ExecutionResult executionResult = new ExecutionResult();
executionResult.setCommandId(cmdForm.getCommandId()); executionResult.setCommandId(cmdForm.getCommandId());
executionResult.setCommandName(cmdForm.getCommand()); executionResult.setCommandName(cmdForm.getCommand());

20
src/main/java/com/qyft/gd/service/warnService.java

@ -0,0 +1,20 @@
package com.qyft.gd.service;
import cn.hutool.json.JSONUtil;
import com.qyft.gd.config.WebSocketServer;
import com.qyft.gd.device.model.bo.DeviceAlarm;
import com.qyft.gd.model.vo.WebsocketResult;
import org.springframework.stereotype.Service;
@Service
public class warnService {
public boolean pushWarnMsg(DeviceAlarm deviceAlarm) {
WebsocketResult websocketResult = new WebsocketResult();
websocketResult.setType("warn");
websocketResult.setData(deviceAlarm);
// 发送消息给客户端
WebSocketServer.sendMessageToClients(JSONUtil.toJsonStr(websocketResult));
return true;
}
}
Loading…
Cancel
Save