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.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<String> 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(), true, true, new BaseSuccessFailureCallBeak() {
|
@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");
|
// }
|
// }
|
}
|
|
@Override
|
public void onFailure(Exception exception) {
|
if (cloudCallBeak != null) {
|
cloudCallBeak.onFailure(exception);
|
}
|
}
|
});
|
|
}
|
}
|