diff --git a/maibu-netty-server/src/main/java/com/maibu/service/DeviceThreadService.java b/maibu-netty-server/src/main/java/com/maibu/service/DeviceThreadService.java index 6f3eaa4..b43e829 100644 --- a/maibu-netty-server/src/main/java/com/maibu/service/DeviceThreadService.java +++ b/maibu-netty-server/src/main/java/com/maibu/service/DeviceThreadService.java @@ -351,30 +351,30 @@ public class DeviceThreadService { } } else { + Device device = deviceService.selectDeviceBySerialNumber(deviceId); + if (device == null) { + device = new Device(); + device.setStatus(3); + device.setOnlineStatus(DeviceStatus.online.getType()); + device.setSerialNumber(deviceId); + device.setDeviceName(deviceId); + device.setProductId(-1L); + device.setTenantId(-1L); + device.setFirmwareVersion(BigDecimal.valueOf(1.0)); + device.setProductName("割草机产品MC700"); + device.setCreateTime(LocalDateTime.now()); + device.setUpdateTime(LocalDateTime.now()); + device.setHasHost(true); + deviceService.insertDeviceBySelf(device); + } else { + device.setStatus(3); + device.setOnlineStatus(DeviceStatus.online.getType()); + device.setUpdateTime(LocalDateTime.now()); + device.setHasHost(true); + deviceService.updateDeviceBySelf(device); + } if (nettyDevice == null) { sessionManager.registerSlaveDevice(deviceId, ConnectorStatus.ACTIVE, null); - Device device = deviceService.selectDeviceBySerialNumber(deviceId); - if (device == null) { - device = new Device(); - device.setStatus(3); - device.setOnlineStatus(DeviceStatus.online.getType()); - device.setSerialNumber(deviceId); - device.setDeviceName(deviceId); - device.setProductId(-1L); - device.setTenantId(-1L); - device.setFirmwareVersion(BigDecimal.valueOf(1.0)); - device.setProductName("割草机产品MC700"); - device.setCreateTime(LocalDateTime.now()); - device.setUpdateTime(LocalDateTime.now()); - device.setHasHost(true); - deviceService.insertDeviceBySelf(device); - } else { - device.setStatus(3); - device.setOnlineStatus(DeviceStatus.online.getType()); - device.setUpdateTime(LocalDateTime.now()); - device.setHasHost(true); - deviceService.updateDeviceBySelf(device); - } NettyDevice slaveDevice = sessionManager.getDevice(deviceId); if (slaveDevice != null) { slaveDevice.setOnlineStatus(1); @@ -383,6 +383,7 @@ public class DeviceThreadService { } else { // todo 推送设备上线 nettyDevice.status(1); + nettyDevice.setDevice(device); } } });