| | |
| | | package com.hdl.photovoltaic.other; |
| | | |
| | | import android.provider.Settings; |
| | | import android.text.TextUtils; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.JsonObject; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.hdl.hdlhttp.HxHttp; |
| | | import com.hdl.linkpm.sdk.core.exception.HDLException; |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | import com.hdl.photovoltaic.bean.HttpResponsePack; |
| | | import com.hdl.photovoltaic.bean.MqttInfo; |
| | | import com.hdl.photovoltaic.internet.HttpClient; |
| | | import com.hdl.photovoltaic.internet.api.HttpApi; |
| | | import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo; |
| | | |
| | | import java.lang.reflect.Type; |
| | | import java.util.List; |
| | | import java.util.Random; |
| | | |
| | | import io.reactivex.rxjava3.disposables.Disposable; |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取逆变器(获取设备远程通讯信息) |
| | | * 获取mqtt远程连接数据 |
| | | * |
| | | * @param homeId 住宅Id |
| | | * @param spk spk |
| | | * @param mac 设备mac |
| | | * @param homeType 住宅类型 (1.ZIGBEE 2.BUSPRO 3.A 4.ALL) |
| | | * @param cloudCallBeak 回调 |
| | | */ |
| | | public void getDeviceRemoteInfo(String homeId, String spk, String mac, CloudCallBeak<String> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Device_remoteInfo; |
| | | public void getMqttRemoteInfo(String homeType, CloudCallBeak<MqttInfo> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Mqtt_GetRemoteInfo; |
| | | int randomNumberClientId = new Random().nextInt(1000000000); |
| | | String deviceUuid = Settings.System.getString(HDLApp.getInstance().getContentResolver(), Settings.System.ANDROID_ID); |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("spk", spk); |
| | | json.addProperty("mac", mac); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { |
| | | json.addProperty("attachClientId", randomNumberClientId); |
| | | json.addProperty("homeType", homeType); |
| | | json.addProperty("deviceUuid", deviceUuid); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(HttpResponsePack httpResponsePack) { |
| | | // if (httpResponsePack != null && httpResponsePack.getData() != null) { |
| | | // Gson gson = new Gson(); |
| | | // String json = gson.toJson(httpResponsePack.getData()); |
| | | // Type typeOfT = new TypeToken<List<CloudInverterChildDeviceBean>>() { |
| | | // }.getType(); |
| | | // if (cloudCallBeak != null) { |
| | | // cloudCallBeak.onSuccess("list"); |
| | | // } |
| | | // } |
| | | public void onSuccess(String jsonStr) { |
| | | Type type = new TypeToken<MqttInfo>() { |
| | | }.getType(); |
| | | MqttInfo mqttInfo = new Gson().fromJson(jsonStr, type); |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(mqttInfo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(Exception exception) { |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(exception); |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | } |