陈力
2023-06-14 ba96f2a660b7fe146e45e4a76ebc908776791b50
app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java
@@ -55,15 +55,17 @@
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        init();
        EventBus.getDefault().register(MyMQTTService.this);
        return super.onStartCommand(intent, flags, startId);
    }
    @Subscribe(threadMode = ThreadMode.ASYNC)
    public static void publish(DeviceMessage message) {
    public  void publish(DeviceMessage message) {
        //需要在这个地方区分是哪种指令
        //才能确定发送到哪个topic
        LogUtils.i("接收到通知",message.getMsgString());
        if (message.getMessageType() == MessageType.MQTT.ordinal()){
            String topic = pubTopic;
            String topic = subTopic_Control +  CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code);
            Integer qos = 2;
            Boolean retained = false;
            String msg = message.getMsgString();
@@ -79,7 +81,7 @@
        // 服务器地址(协议+地址+端口号)
        String uri = "tcp://" + SettingConfig.getInstance().MQTT_IP+":"+SettingConfig.getInstance().MQTT_PORT;;
        LogUtils.i(uri);
        client = new MqttAndroidClient(this, uri, "tests233233232");
        client = new MqttAndroidClient(this, uri, CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code));
        // 设置MQTT监听并且接受消息
        client.setCallback(mqttCallback);
        conOpt = new MqttConnectOptions();
@@ -197,12 +199,14 @@
                    String seqnum = json.getString("seqnum");
                    String orderType = json.getString("orderType");
                    String bookingType = json.getString("bookingType");
                    String orderId = json.getString("orderId");
                    if (json.getString("startTime")!=null) {
                        String startTime = JsonUtils.getString(messageStr, "startTime", "");
                    }
                    String createdTime = json.getString("createdTime");
                    String tableNum = JsonUtils.getString(messageStr,"tableNum","");
                    order.setOrderNo(orderno);
                    order.setOrderId(orderId);
                    order.setState(0);
                    order.setXuHao(seqnum);
                    order.setTakeCode("");
@@ -259,7 +263,7 @@
                    if (dengGuangIsOpen!=null) {
                        crontrolGridModel.setXiaodu(Integer.parseInt(dengGuangIsOpen));
                    }
                    LogUtils.i("控制",crontrolGridModel.getGuiNo(),crontrolGridModel.getGridNo(),crontrolGridModel.getOpenOrNoActon());
                    byte[] command = CanGuiCommand.getInstance().controlGridCommand(crontrolGridModel.getGuiNo() ,
                            crontrolGridModel.getGridNo() , crontrolGridModel.getOpenOrNoActon(),
                            crontrolGridModel.getWendu(), crontrolGridModel.getXiaodu(), crontrolGridModel.getDengGuang(),
@@ -268,7 +272,7 @@
                    dvmessage.setMessageType(MessageType.SENDMESSAGE.ordinal());
                    dvmessage.setDeviceType(DeviceType.CANGUI.ordinal());
                    dvmessage.setMessageByte(command);
                    EventBus.getDefault().post(message);
                    EventBus.getDefault().post(dvmessage);
                }
            }
        }
@@ -305,5 +309,4 @@
    public IBinder onBind(Intent intent) {
        return null;
    }
}