|
@ -10,6 +10,7 @@ import org.dromara.common.web.core.BaseController; |
|
|
import org.dromara.sample.manage.model.dto.DeviceDTO; |
|
|
import org.dromara.sample.manage.model.dto.DeviceDTO; |
|
|
import org.dromara.sample.manage.model.dto.DeviceFirmwareUpgradeDTO; |
|
|
import org.dromara.sample.manage.model.dto.DeviceFirmwareUpgradeDTO; |
|
|
import org.dromara.sample.manage.service.IDeviceProService; |
|
|
import org.dromara.sample.manage.service.IDeviceProService; |
|
|
|
|
|
import org.dromara.sample.manage.service.IDeviceRedisService; |
|
|
import org.dromara.sample.manage.service.IDeviceService; |
|
|
import org.dromara.sample.manage.service.IDeviceService; |
|
|
import com.fasterxml.jackson.databind.JsonNode; |
|
|
import com.fasterxml.jackson.databind.JsonNode; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
@ -40,7 +41,7 @@ public class DeviceController { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private IDeviceProService deviceProService; |
|
|
private IDeviceRedisService deviceRedisService; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取一个工作区中所有在线设备的列表。 |
|
|
* 获取一个工作区中所有在线设备的列表。 |
|
@ -130,6 +131,28 @@ public class DeviceController { |
|
|
@PathVariable("workspace_id") String workspaceId, |
|
|
@PathVariable("workspace_id") String workspaceId, |
|
|
@PathVariable("device_sn") String deviceSn) { |
|
|
@PathVariable("device_sn") String deviceSn) { |
|
|
device.setDeviceSn(deviceSn); |
|
|
device.setDeviceSn(deviceSn); |
|
|
|
|
|
Optional<DeviceDTO> deviceOnline = deviceRedisService.getDeviceOnline(deviceSn); |
|
|
|
|
|
if(deviceOnline.isPresent()){ |
|
|
|
|
|
deviceOnline.get().setNickname(device.getNickname()); |
|
|
|
|
|
deviceOnline.get().setProId(device.getProId()); |
|
|
|
|
|
if(deviceOnline.get().getChildren() != null){ |
|
|
|
|
|
deviceOnline.get().getChildren().setProId(device.getProId()); |
|
|
|
|
|
deviceOnline.get().getChildren().setNickname(device.getNickname()+"-"+ deviceOnline.get().getChildren().getDeviceName()); |
|
|
|
|
|
deviceService.updateDevice(deviceOnline.get().getChildren()); |
|
|
|
|
|
} |
|
|
|
|
|
deviceRedisService.setDeviceOnline(deviceOnline.get()); |
|
|
|
|
|
}else { |
|
|
|
|
|
Optional<DeviceDTO> deviceBySn = deviceService.getDeviceBySn(device.getDeviceSn()); |
|
|
|
|
|
|
|
|
|
|
|
Optional<DeviceDTO> deviceByChildSn = deviceService.getDeviceBySn(device.getChildDeviceSn()); |
|
|
|
|
|
if(deviceByChildSn.isPresent()){ |
|
|
|
|
|
deviceByChildSn.get().setProId(device.getProId()); |
|
|
|
|
|
deviceByChildSn.get().setNickname(device.getNickname()+"-"+ deviceBySn.get().getChildren().getDeviceName()); |
|
|
|
|
|
deviceService.updateDevice(deviceByChildSn.get()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
boolean isUpd = deviceService.updateDevice(device); |
|
|
boolean isUpd = deviceService.updateDevice(device); |
|
|
return isUpd ? HttpResultResponse.success() : HttpResultResponse.error(); |
|
|
return isUpd ? HttpResultResponse.success() : HttpResultResponse.error(); |
|
|
} |
|
|
} |
|
|