From 894d18bb13dae351028e584f9b73a8d6964a0a50 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Wed, 19 Nov 2025 13:51:17 +0800
Subject: [PATCH] 2025-11-15 zwy 航线信息被删掉后,航线任务列表在读取航线时会报错;处理错误,航线不存在时航线文件名称显示空。正常逻辑应该是航线文件有任务在用,就不能随意删除;

---
 ard-sample/src/main/java/com/ard/sample/manage/service/impl/ControlServiceImpl.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/ControlServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/ControlServiceImpl.java
index 5728b73..adacd79 100644
--- a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/ControlServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/ControlServiceImpl.java
@@ -69,7 +69,14 @@
             if (Objects.isNull(param)) {
                 return ResponseResult.error(CommonErrorEnum.ILLEGAL_ARGUMENT);
             }
-            BasicDeviceProperty basicDeviceProperty = mapper.convertValue(param.getAction(), controlMethodEnum.getClazz());
+            BasicDeviceProperty basicDeviceProperty = null;
+            if(serviceIdentifier.equals("sdr_workmode_switch")){
+                basicDeviceProperty= mapper.convertValue(param.getLink_workmode(), controlMethodEnum.getClazz());
+            }
+            else
+            {
+                basicDeviceProperty = mapper.convertValue(param.getAction(), controlMethodEnum.getClazz());
+            }
             if (!basicDeviceProperty.valid()) {
                 return ResponseResult.error(CommonErrorEnum.ILLEGAL_ARGUMENT);
             }
@@ -118,13 +125,14 @@
         String deviceSn = receiver.getGateway();
         if(method.equals("cover_close")){
             _deviceService.updateWorkType(deviceSn, 2L);
+            RedisOpsUtils.setWithExpire(RedisConst.OSD_STATUS_PREFIX + deviceSn, 2, RedisConst.DEVICE_ALIVE_SECOND);
         }
         String sn = RedisOpsUtils.get(key).toString();
         receiver.setType(MessageType.PROGRESS.getType());
         EventsReceiver<EventsOutputReceiver> eventsReceiver = mapper.convertValue(receiver.getData(),
                 new TypeReference<EventsReceiver<EventsOutputReceiver>>(){});
         eventsReceiver.setBid(receiver.getBid());
-        eventsReceiver.setSn(sn);
+        eventsReceiver.setGateway(sn);
         eventsReceiver.setType(MessageType.PROGRESS.getType());
         eventsReceiver.setMethod(receiver.getMethod());
 
@@ -152,6 +160,7 @@
         // 更新设备列表状态--飞行器开机中...
         if(method.equals("drone_open")){
             _deviceService.updateWorkType(device.getChildDeviceSn(), 7L);
+            RedisOpsUtils.setWithExpire(RedisConst.OSD_STATUS_PREFIX + device.getChildDeviceSn(), 7, RedisConst.DEVICE_ALIVE_SECOND);
         }
 
         String dockProgress ="";

--
Gitblit v1.9.3