陈力
2023-06-12 dbb789cb3e35ea2997b4197a30b5b8f81839197e
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);
                }
            }
        }