package com.ld.igds.io.impl;
|
|
import com.ld.igds.constant.BizType;
|
import com.ld.igds.gas.dto.GasProgressData;
|
import com.ld.igds.io.constant.OrderRespEnum;
|
import com.ld.igds.io.notify.NotifyWebInvoker;
|
import com.ld.igds.order.ExeOrderService;
|
import com.ld.igds.order.data.ExeRequest;
|
import com.ld.igds.order.data.OrderProgress;
|
import com.ld.igds.pest.dto.PestProgressData;
|
import com.ld.igds.quantity.dto.QuantityProgressData;
|
import com.ld.igds.websocket.WebSocketPacket;
|
import com.ld.igds.websocket.WebSocketServer;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
@Slf4j
|
@Component
|
public class NotifyWebInvokerImpl implements NotifyWebInvoker {
|
|
@Autowired
|
private ExeOrderService exeOrderService;
|
|
@Override
|
public void notifyWeb(String companyId, OrderRespEnum orderResp,
|
BizType bizType, String notifyMsg) {
|
// 通知前端
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType(bizType.getCode());
|
packet.setCompanyId(companyId);
|
packet.setOrderResp(orderResp.getCode());
|
packet.setData(notifyMsg);
|
WebSocketServer.sendByPocket(packet);
|
}
|
|
@Override
|
public void notifyWeb(String companyId, String deptId, String userId, OrderRespEnum orderResp,
|
BizType bizType, String notifyMsg) {
|
// 通知前端
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType(bizType.getCode());
|
packet.setCompanyId(companyId);
|
packet.setOrderResp(orderResp.getCode());
|
packet.setData(notifyMsg);
|
packet.setDeptId(deptId);
|
packet.setUserId(userId);
|
WebSocketServer.sendByUser(packet);
|
}
|
|
@Override
|
public void notifyGasProgress(GasProgressData progress) {
|
// 通知前端进度信息
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType(BizType.GAS.getCode());
|
packet.setCompanyId(progress.getCompanyId());
|
packet.setOrderResp(OrderRespEnum.ORDER_INPROGRESS.getCode());
|
packet.setData(progress);
|
WebSocketServer.sendByPocket(packet);
|
}
|
|
@Override
|
public void notifyPestProgress(PestProgressData progress) {
|
// 通知前端进度信息
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType(BizType.PEST.getCode());
|
packet.setCompanyId(progress.getCompanyId());
|
packet.setOrderResp(OrderRespEnum.ORDER_INPROGRESS.getCode());
|
packet.setData(progress);
|
WebSocketServer.sendByPocket(packet);
|
}
|
|
@Override
|
public void notifyAnalysisStatusSuccess(String companyId, String serId, OrderRespEnum orderResp, String notifyMsg) {
|
try {
|
// 通知前端
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setCompanyId(companyId);
|
packet.setOrderResp(orderResp.getCode());
|
packet.setData(notifyMsg);
|
packet.setBizId("DEVICE_STATS");
|
|
ExeRequest request = exeOrderService.getControlCache(companyId, serId);
|
if (null == request) {
|
return;
|
}
|
// 设备状态跟新后开始通知前端
|
packet.setBizType(request.getBizType());
|
packet.setDeptId(request.getDeptId());
|
|
WebSocketServer.sendByPocket(packet);
|
|
} catch (Exception e) {
|
log.error("后台推送设备状态查询,执行失败:" + e);
|
}
|
|
}
|
|
|
@Override
|
public void notifyWebOrderProgress(String companyId, String bizType, OrderProgress progress) {
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType(bizType);
|
packet.setCompanyId(companyId);
|
packet.setOrderResp(OrderRespEnum.ORDER_INPROGRESS.getCode());
|
packet.setData(progress);
|
WebSocketServer.sendByPocket(packet);
|
}
|
|
@Override
|
public void notifyQuantityProgress(QuantityProgressData progress) {
|
// 通知前端进度信息
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType(BizType.QUANTITY.getCode());
|
packet.setCompanyId(progress.getCompanyId());
|
packet.setOrderResp(OrderRespEnum.ORDER_INPROGRESS.getCode());
|
packet.setData(progress);
|
packet.setDeptId(progress.getDeptId());
|
WebSocketServer.sendByPocket(packet);
|
}
|
|
}
|