调整
This commit is contained in:
parent
bd214436d8
commit
06466a4e45
@ -56,6 +56,8 @@ public class BusDeviceServiceImpl extends ServiceImpl<BusDeviceMapper, BusDevice
|
|||||||
private final BusUserCommandMapper busUserCommandMapper;
|
private final BusUserCommandMapper busUserCommandMapper;
|
||||||
private final BusCommandLogMapper busCommandLogMapper;
|
private final BusCommandLogMapper busCommandLogMapper;
|
||||||
private final WeChatService weChatService;
|
private final WeChatService weChatService;
|
||||||
|
private final WebSocketSdcpServiceImpl webSocketSdcpService;
|
||||||
|
private final WebSocketVueServiceImpl webSocketVueService;
|
||||||
private final RedisUtils redisUtils;
|
private final RedisUtils redisUtils;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -134,6 +136,10 @@ public class BusDeviceServiceImpl extends ServiceImpl<BusDeviceMapper, BusDevice
|
|||||||
}
|
}
|
||||||
resources.setDeviceCode((new Random().nextInt(900000) + 100000) + "");
|
resources.setDeviceCode((new Random().nextInt(900000) + 100000) + "");
|
||||||
busDeviceMapper.insert(resources);
|
busDeviceMapper.insert(resources);
|
||||||
|
// 刷新设备
|
||||||
|
webSocketVueService.refreshDeviceList();
|
||||||
|
// 设备初始化
|
||||||
|
webSocketSdcpService.openDeviceStatus(resources.getDeviceSn());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -142,12 +148,18 @@ public class BusDeviceServiceImpl extends ServiceImpl<BusDeviceMapper, BusDevice
|
|||||||
BusDevice busDevice = getById(resources.getId());
|
BusDevice busDevice = getById(resources.getId());
|
||||||
busDevice.copy(resources);
|
busDevice.copy(resources);
|
||||||
busDeviceMapper.updateById(busDevice);
|
busDeviceMapper.updateById(busDevice);
|
||||||
|
// 刷新设备
|
||||||
|
webSocketVueService.refreshDeviceList();
|
||||||
|
// 设备初始化
|
||||||
|
webSocketSdcpService.openDeviceStatus(resources.getDeviceSn());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteAll(List<Long> ids) {
|
public void deleteAll(List<Long> ids) {
|
||||||
busDeviceMapper.deleteBatchIds(ids);
|
busDeviceMapper.deleteBatchIds(ids);
|
||||||
|
// 刷新设备
|
||||||
|
webSocketVueService.refreshDeviceList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -39,7 +39,7 @@ public class WebSocketSdcpServiceImpl extends WebSocketService {
|
|||||||
this.channel = WebSocketConfig.TOPIC_PREFIX;
|
this.channel = WebSocketConfig.TOPIC_PREFIX;
|
||||||
log.info("SDCP服务端 连接成功:channel={}", channel);
|
log.info("SDCP服务端 连接成功:channel={}", channel);
|
||||||
clients.put(channel, this);
|
clients.put(channel, this);
|
||||||
openDeviceStatus();
|
openDeviceStatus(null);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 连接关闭调用的方法
|
* 连接关闭调用的方法
|
||||||
@ -94,33 +94,43 @@ public class WebSocketSdcpServiceImpl extends WebSocketService {
|
|||||||
sendVueMessage(JSON.toJSONString(new SocketMsg(new HashMap<>() , remark, MsgEnum.CLOSE)), null, null);
|
sendVueMessage(JSON.toJSONString(new SocketMsg(new HashMap<>() , remark, MsgEnum.CLOSE)), null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 初始状态刷新消息(Cmd:0) 指令
|
public void openDeviceStatus(String thisDeviceSn) {
|
||||||
private void openDeviceStatus() {
|
|
||||||
log.info(">>> 初始化设备状态");
|
log.info(">>> 初始化设备状态");
|
||||||
WebSocketService socket = getSocket(WebSocketConfig.TOPIC_PREFIX);
|
if (StringUtils.isEmpty(thisDeviceSn)) {
|
||||||
for (String deviceSn : deviceList) {
|
for (String deviceSn : deviceList) {
|
||||||
long currentTimeLong = System.currentTimeMillis();
|
pushDeviceStatus(deviceSn);
|
||||||
Map<String, Object> dataParam = new HashMap<>();
|
}
|
||||||
dataParam.put("UserId", socket.session.getId());
|
} else {
|
||||||
WebSocketReqData data = new WebSocketReqData();
|
pushDeviceStatus(thisDeviceSn);
|
||||||
data.setCmd(0);
|
|
||||||
data.setData(dataParam);
|
|
||||||
data.setRequestID(currentTimeLong + "");
|
|
||||||
data.setMainboardID(deviceSn);
|
|
||||||
data.setTimeStamp(currentTimeLong);
|
|
||||||
data.setFrom(0);
|
|
||||||
WebSocketReqDTO reqDTO = new WebSocketReqDTO();
|
|
||||||
reqDTO.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.request.name() + "/" + deviceSn);
|
|
||||||
reqDTO.setData(data);
|
|
||||||
String message = JSON.toJSONString(reqDTO);
|
|
||||||
try {
|
|
||||||
log.info("发送【初始化】指令:channel={},message={}", channel, message);
|
|
||||||
socket.session.getBasicRemote().sendText(message);
|
|
||||||
} catch (IOException e) { throw new RuntimeException(e); }
|
|
||||||
}
|
}
|
||||||
log.info("<<< 初始化设备");
|
log.info("<<< 初始化设备");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 初始状态刷新消息(Cmd:0) 指令
|
||||||
|
private void pushDeviceStatus(String deviceSn) {
|
||||||
|
WebSocketService socket = getSocket(WebSocketConfig.TOPIC_PREFIX);
|
||||||
|
long currentTimeLong = System.currentTimeMillis();
|
||||||
|
Map<String, Object> dataParam = new HashMap<>();
|
||||||
|
dataParam.put("UserId", socket.session.getId());
|
||||||
|
WebSocketReqData data = new WebSocketReqData();
|
||||||
|
data.setCmd(0);
|
||||||
|
data.setData(dataParam);
|
||||||
|
data.setRequestID(currentTimeLong + "");
|
||||||
|
data.setMainboardID(deviceSn);
|
||||||
|
data.setTimeStamp(currentTimeLong);
|
||||||
|
data.setFrom(0);
|
||||||
|
WebSocketReqDTO reqDTO = new WebSocketReqDTO();
|
||||||
|
reqDTO.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.request.name() + "/" + deviceSn);
|
||||||
|
reqDTO.setData(data);
|
||||||
|
String message = JSON.toJSONString(reqDTO);
|
||||||
|
try {
|
||||||
|
log.info("发送【初始化】指令:channel={},message={}", channel, message);
|
||||||
|
socket.session.getBasicRemote().sendText(message);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 处理二进制图片
|
// 处理二进制图片
|
||||||
private void byteImgDataHandle(String message) {
|
private void byteImgDataHandle(String message) {
|
||||||
Map<String, String> dataMap = Arrays.stream(message.split("&"))
|
Map<String, String> dataMap = Arrays.stream(message.split("&"))
|
||||||
|
@ -35,7 +35,8 @@ public class WebSocketVueServiceImpl extends WebSocketService {
|
|||||||
log.info("<<< 设备初始化");
|
log.info("<<< 设备初始化");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Scheduled(fixedRate = 60000)
|
// 每30秒刷新设备
|
||||||
|
@Scheduled(fixedRate = 30000)
|
||||||
public void refreshDeviceList() {
|
public void refreshDeviceList() {
|
||||||
deviceList = new ArrayList<>();
|
deviceList = new ArrayList<>();
|
||||||
List<BusDevice> devices = myDeviceService.queryAll(new BusDeviceQueryCriteria());
|
List<BusDevice> devices = myDeviceService.queryAll(new BusDeviceQueryCriteria());
|
||||||
|
Loading…
Reference in New Issue
Block a user