From 31c71c56ba8c64f208bf8e4a64f24768fae39972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Thu, 31 Jul 2025 15:54:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handacid/app/service/DeviceService.java | 26 ++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/iflytop/handacid/app/service/DeviceService.java b/src/main/java/com/iflytop/handacid/app/service/DeviceService.java index f5368ef..6d21a5a 100644 --- a/src/main/java/com/iflytop/handacid/app/service/DeviceService.java +++ b/src/main/java/com/iflytop/handacid/app/service/DeviceService.java @@ -26,15 +26,23 @@ public class DeviceService { private final ChannelService channelService; public void syncOperations(SyncOperationsDTO syncOperationsDTO) { - deviceState.setMode(syncOperationsDTO.getMode()); - systemConfigService.updateValueByKey(SystemConfigKey.SOLUTION_ADD_MODE, syncOperationsDTO.getMode().toString()); - for (SyncOperationsChannel syncOperationsChannel : syncOperationsDTO.getChannels()) { - ChannelState channelState = deviceState.getChannelStateMap().get(syncOperationsChannel.getChannelCode()); - channelState.setSelected(syncOperationsChannel.isSelected()); - channelState.setTargetVolume(syncOperationsChannel.getTargetVolume()); - Channel channel = channelService.getOne(new LambdaQueryWrapper<>(Channel.class).eq(Channel::getCode, syncOperationsChannel.getChannelCode())); - channel.setTargetVolume(syncOperationsChannel.getTargetVolume()); - channelService.updateById(channel); + if(syncOperationsDTO.getMode() != null){ + deviceState.setMode(syncOperationsDTO.getMode()); + systemConfigService.updateValueByKey(SystemConfigKey.SOLUTION_ADD_MODE, syncOperationsDTO.getMode().toString()); + } + if(syncOperationsDTO.getChannels() != null){ + for (SyncOperationsChannel syncOperationsChannel : syncOperationsDTO.getChannels()) { + ChannelState channelState = deviceState.getChannelStateMap().get(syncOperationsChannel.getChannelCode()); + if(syncOperationsChannel.getSelected() != null){ + channelState.setSelected(syncOperationsChannel.getSelected()); + } + if(syncOperationsChannel.getTargetVolume() != null){ + channelState.setTargetVolume(syncOperationsChannel.getTargetVolume()); + Channel channel = channelService.getOne(new LambdaQueryWrapper<>(Channel.class).eq(Channel::getCode, syncOperationsChannel.getChannelCode())); + channel.setTargetVolume(syncOperationsChannel.getTargetVolume()); + channelService.updateById(channel); + } + } } } }