From 51b53373d150e4107a51fcf502d0598b7d82c455 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期二, 18 一月 2022 11:08:12 +0800
Subject: [PATCH] 功能完善/回滚数据之后新增的填哥的代码

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
index ec78044..65aeaad 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -131,25 +131,30 @@
         for (LightControlParam param : paramList) {
             A5LightBrightnessReqInnerFrame lightControlFrame = new A5LightBrightnessReqInnerFrame(param.getBrightness());
             A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_LIGHT_DATA.getCode(), lightControlFrame);
-            WrapResponseCommonFrame<A5LightBrightnessRespInnerFrame> frame = MainBoardInvokeSyncService.getInstance()
-                    .sendRRPC(param.getDeviceCode(), a5Frame, A5LightBrightnessRespInnerFrame.class);
             Map<String, Object> map = new HashMap<>();
-            map.put("deviceCode", param.getDeviceCode());
-            if (frame == null) {
+            try {
+                map.put("deviceCode", param.getDeviceCode());
+                WrapResponseCommonFrame<A5LightBrightnessRespInnerFrame> frame = MainBoardInvokeSyncService.getInstance()
+                        .sendRRPC(param.getDeviceCode(), a5Frame, A5LightBrightnessRespInnerFrame.class);
+                if (frame == null) {
+                    map.put("status", DeviceRespStatusEnums.OTHER_ERROR.getCode());
+                    resultList.add(map);
+                    continue;
+                }
+                String responseStatus = frame.getResponseInnerFrame().getResponseStatus();
+                int status = HexUtil.hexToInt(responseStatus);
+                map.put("status", status);
+                resultList.add(map);
+
+                // 鏇存柊浜害鎴愬姛锛屼慨鏀瑰埌鏁版嵁搴�
+                if (DeviceRespStatusEnums.SUCCESS.getCode().equals(status)) {
+                    Light light = new Light();
+                    light.setLightPercent(param.getBrightness());
+                    update(light, Wrappers.lambdaUpdate(Light.class).eq(Light::getDeviceCode, param.getDeviceCode()));
+                }
+            }catch (BusinessException e){
                 map.put("status", DeviceRespStatusEnums.OTHER_ERROR.getCode());
                 resultList.add(map);
-                continue;
-            }
-            String responseStatus = frame.getResponseInnerFrame().getResponseStatus();
-            int status = HexUtil.hexToInt(responseStatus);
-            map.put("status", status);
-            resultList.add(map);
-
-            // 鏇存柊浜害鎴愬姛锛屼慨鏀瑰埌鏁版嵁搴�
-            if (DeviceRespStatusEnums.SUCCESS.getCode().equals(status)) {
-                Light light = new Light();
-                light.setLightPercent(param.getBrightness());
-                update(light, Wrappers.lambdaUpdate(Light.class).eq(Light::getDeviceCode, param.getDeviceCode()));
             }
         }
 

--
Gitblit v1.9.3