package com.hdl.photovoltaic.other; 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.bean.HttpResponsePack; 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 java.lang.reflect.Type; import java.util.List; import io.reactivex.rxjava3.disposables.Disposable; /** * mqtt的逻辑 */ public class HdlMqttLogic { private static volatile HdlMqttLogic sHdlMqttLogic; /** * 获取当前对象 * * @return HdlAccountLogic */ public static synchronized HdlMqttLogic getInstance() { if (sHdlMqttLogic == null) { synchronized (HdlMqttLogic.class) { if (sHdlMqttLogic == null) { sHdlMqttLogic = new HdlMqttLogic(); } } } return sHdlMqttLogic; } /** * 获取逆变器(获取设备远程通讯信息) * * @param homeId 住宅Id * @param spk spk * @param mac 设备mac * @param cloudCallBeak 回调 */ public void getDeviceRemoteInfo(String homeId, String spk, String mac, CloudCallBeak cloudCallBeak) { String requestUrl = HttpApi.POST_Device_remoteInfo; JsonObject json = new JsonObject(); json.addProperty("homeId", homeId); json.addProperty("spk", spk); json.addProperty("mac", mac); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak() { @Override public void onSuccess(String jsonStr) { // if (httpResponsePack != null && httpResponsePack.getData() != null) { // Gson gson = new Gson(); // String json = gson.toJson(httpResponsePack.getData()); // Type typeOfT = new TypeToken>() { // }.getType(); // if (cloudCallBeak != null) { // cloudCallBeak.onSuccess("list"); // } // } } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } } }); } }