From dbb789cb3e35ea2997b4197a30b5b8f81839197e Mon Sep 17 00:00:00 2001
From: 陈力 <chenli@lotaai.com>
Date: 星期一, 12 六月 2023 17:02:33 +0800
Subject: [PATCH] 增加接收开门的指令

---
 app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java |   58 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 31 insertions(+), 27 deletions(-)

diff --git a/app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java b/app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java
index c14ed1e..36ff57f 100644
--- a/app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java
+++ b/app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java
@@ -238,34 +238,38 @@
             //2、开门、开馆灯、开关消毒灯、开关加热
             if (topic.startsWith(subTopic_Control)){
                 JSONObject json = JSONObject.parseObject(messageStr);
-                String doorIsOpen = json.getString("doorIsOpen");
-                String xiaoDuIsOpen = json.getString("xiaoDuIsOpen");
-                String jiareIsOpen = json.getString("jiareIsOpen");
-                String dengGuangIsOpen = json.getString("dengGuangIsOpen");
-                String grid = json.getString("gridNo");
-                CrontrolGridModel crontrolGridModel = new CrontrolGridModel();
-                if (doorIsOpen!=null && doorIsOpen.equals("1")){
-                    crontrolGridModel.setOpenOrNoActon(1);
-                }
-                if (xiaoDuIsOpen!=null) {
-                    crontrolGridModel.setXiaodu(Integer.parseInt(xiaoDuIsOpen));
-                }
-                if (jiareIsOpen!=null) {
-                    crontrolGridModel.setXiaodu(Integer.parseInt(jiareIsOpen));
-                }
-                if (dengGuangIsOpen!=null) {
-                    crontrolGridModel.setXiaodu(Integer.parseInt(dengGuangIsOpen));
-                }
+                if (json.getString("action") !=null && json.getString("action").equals(DeviceAction.CONTROLDEVICE.name())){
+                    String doorIsOpen = json.getString(DeviceAction.doorIsOpen.name());
+                    String xiaoDuIsOpen = json.getString(DeviceAction.xiaoDuIsOpen.name());
+                    String jiareIsOpen = json.getString(DeviceAction.jiareIsOpen.name());
+                    String dengGuangIsOpen = json.getString(DeviceAction.dengGuangIsOpen.name());
+                    String grid = json.getString("gridNo");
+                    //将格子号转换成柜号和格子
+                    CrontrolGridModel crontrolGridModel = new CrontrolGridModel();
+                    crontrolGridModel.ChangeGrid(grid);
+                    if (doorIsOpen!=null && doorIsOpen.equals("1")){
+                        crontrolGridModel.setOpenOrNoActon(1);
+                    }
+                    if (xiaoDuIsOpen!=null) {
+                        crontrolGridModel.setXiaodu(Integer.parseInt(xiaoDuIsOpen));
+                    }
+                    if (jiareIsOpen!=null) {
+                        crontrolGridModel.setXiaodu(Integer.parseInt(jiareIsOpen));
+                    }
+                    if (dengGuangIsOpen!=null) {
+                        crontrolGridModel.setXiaodu(Integer.parseInt(dengGuangIsOpen));
+                    }
 
-                byte[] command = CanGuiCommand.getInstance().controlGridCommand(crontrolGridModel.getGuiNo() ,
-                        crontrolGridModel.getGridNo() , crontrolGridModel.getOpenOrNoActon(),
-                        crontrolGridModel.getWendu(), crontrolGridModel.getXiaodu(), crontrolGridModel.getDengGuang(),
-                        crontrolGridModel.getJiaRe(), crontrolGridModel.getGuangDengji());
-                DeviceMessage dvmessage = new DeviceMessage();
-                dvmessage.setMessageType(MessageType.SENDMESSAGE.ordinal());
-                dvmessage.setDeviceType(DeviceType.CANGUI.ordinal());
-                dvmessage.setMessageByte(command);
-                EventBus.getDefault().post(message);
+                    byte[] command = CanGuiCommand.getInstance().controlGridCommand(crontrolGridModel.getGuiNo() ,
+                            crontrolGridModel.getGridNo() , crontrolGridModel.getOpenOrNoActon(),
+                            crontrolGridModel.getWendu(), crontrolGridModel.getXiaodu(), crontrolGridModel.getDengGuang(),
+                            crontrolGridModel.getJiaRe(), crontrolGridModel.getGuangDengji());
+                    DeviceMessage dvmessage = new DeviceMessage();
+                    dvmessage.setMessageType(MessageType.SENDMESSAGE.ordinal());
+                    dvmessage.setDeviceType(DeviceType.CANGUI.ordinal());
+                    dvmessage.setMessageByte(command);
+                    EventBus.getDefault().post(message);
+                }
             }
         }
 

--
Gitblit v1.7.1