wjc
2023-06-30 073e5d5103870246fe33029e5f6d36536a1bb76c
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -24,6 +24,7 @@
import com.hdl.sdk.link.core.callback.GatewayCallBack;
import com.hdl.sdk.link.core.callback.ModbusCallBack;
import com.hdl.sdk.link.core.connect.HDLModBusConnect;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;
@@ -91,13 +92,57 @@
                }
                if (callback != null) {
                    uniCallbackData(null, "0", "", callback);
                    uniCallbackData(null, callback);
                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) {
                //设备模块
                switch (type) {
                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: {
                        //添加
                        //添加设备到云端
                        String mac = getKeyValue("mac", getKeyValue("data", data));
                        HdlDeviceLogic.getInstance().editGatewayParam(mac, new CloudCallBeak<Boolean>() {
                            @Override
                            public void onSuccess(Boolean obj) {
                                HdlDeviceLogic.getInstance().steGatewayParam(mac, new CloudCallBeak<Boolean>() {
                                    @Override
                                    public void onSuccess(Boolean obj) {
                                        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac);
                                        if (gatewayBean == null) {
                                            uniCallbackData(null, -100, "本地找不到网关", callback);
                                            return;
                                        }
                                        HdlDeviceLogic.getInstance().addInverterDevice(mac,
                                                gatewayBean.getGateway_type(),
                                                gatewayBean.getSid(),
                                                gatewayBean.getOid(),
                                                gatewayBean.getDevice_name(),
                                                new CloudCallBeak<Boolean>() {
                                                    @Override
                                                    public void onSuccess(Boolean obj) {
                                                        uniCallbackData(null, callback);
                                                    }
                                                    @Override
                                                    public void onFailure(Exception exception) {
                                                        uniCallbackData(null, -100, exception.getMessage(), callback);
                                                    }
                                                });
                                    }
                                    @Override
                                    public void onFailure(Exception exception) {
                                        uniCallbackData(null, -100, exception.getMessage(), callback);
                                    }
                                });
                            }
                            @Override
                            public void onFailure(Exception exception) {
                                uniCallbackData(null, -100, exception.getMessage(), callback);
                            }
                        });
                    }
                    break;
                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: {
@@ -111,7 +156,7 @@
                            @Override
                            public void onError(HDLLinkException e) {
                                //发送失败
                                uniCallbackData(null, e.getCode() + "", "", callback);
                                uniCallbackData(null, e.getCode(), "", callback);
                            }
                        });
                    }
@@ -180,7 +225,7 @@
            @Override
            public void onError(HDLLinkException e) {
                uniCallbackData(null, e.getCode() + "", "失败", callback);
                uniCallbackData(null, e.getCode(), e.getMsg(), callback);
            }
        });
    }
@@ -259,7 +304,7 @@
     * @param msg      结果描述的信息
     * @param callback 回调
     */
    private void uniCallbackData(Object obj, String code, String msg, DCUniMPJSCallback callback) {
    private void uniCallbackData(Object obj, int code, String msg, DCUniMPJSCallback callback) {
        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
        try {
            uniCallBackBaseBean.setCode(code);
@@ -276,7 +321,7 @@
    }
    private void uniCallbackData(Object obj, DCUniMPJSCallback callback) {
        uniCallbackData(obj, HDLLinkCode.HDL_SUCCESS + "", HDLLinkCode.HDL_SUCCESS.getMsg(), callback);
        uniCallbackData(obj, HDLLinkCode.HDL_SUCCESS.getCode(), HDLLinkCode.HDL_SUCCESS.getMsg(), callback);
    }
    /**