mac
2023-11-20 734babb3a7348050fdffe845c560ba8b0b218152
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -10,6 +10,7 @@
import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean;
import com.hdl.linkpm.sdk.ota.bean.CloudGatewayDriversBean;
import com.hdl.linkpm.sdk.ota.bean.DeviceFirmwareBean;
import com.hdl.linkpm.sdk.ota.bean.DownloadUrlBean;
import com.hdl.linkpm.sdk.ota.bean.GatewayDriverBean;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.bean.ModBusBean;
@@ -210,6 +211,16 @@
                        this.uniGetNewDeviceFirmwares(data, callback);
                    }
                    break;
                    //设备本地固件列表
                    case HDLUniMP.UNI_EVENT_REPLY_OTA_FIRMWARES_LOCAL: {
                        this.uniGetLocalFirmwares(data, callback);
                    }
                    break;
                    //设备固件下载
                    case HDLUniMP.UNI_EVENT_REPLY_OTA_FIRMWARES_DOWNLOAD: {
                        this.uniDeviceFirmwareDownload(data, callback);
                    }
                    break;
                    //设备固件升级
                    case HDLUniMP.UNI_EVENT_REPLY_OTA_FIRMWARES_UPGRADE: {
                        this.uniUpgradeDeviceFirmware(data, callback);
@@ -223,6 +234,16 @@
                    //设备新驱动列表
                    case HDLUniMP.UNI_EVENT_REPLY_OTA_DRIVER_NEW: {
                        this.uniGetNewGatewayDrivers(data, callback);
                    }
                    break;
                    //设备本地驱动列表
                    case HDLUniMP.UNI_EVENT_REPLY_OTA_DRIVER_LOCAL: {
                        this.uniGetLocalDrivers(data, callback);
                    }
                    break;
                    //设备驱动下载
                    case HDLUniMP.UNI_EVENT_REPLY_OTA_DRIVER_DOWNLOAD: {
                        this.uniGatewayDriverDownload(data, callback);
                    }
                    break;
                    //设备驱动升级
@@ -338,14 +359,23 @@
    }
    /**
     * 向云端发起【设备固件】升级OTA指令
     * 获取【设备本地固件】列表
     */
    private void uniUpgradeDeviceFirmware(Object data, DCUniMPJSCallback callback) {
    private void uniGetLocalFirmwares(Object data, DCUniMPJSCallback callback) {
        String hardwareModel = getKeyValue("hardwareModel", getKeyValue("data", data));//硬件型号
        String osImageId = getKeyValue("osImageId", getKeyValue("data", data));//系统镜像id
        String firmwareVersionId = getKeyValue("firmwareVersionId", getKeyValue("data", data));//系统镜像id
    }
    /**
     * 向云端发起【设备固件】下载指令
     */
    private void uniDeviceFirmwareDownload(Object data, DCUniMPJSCallback callback) {
        String deviceOidId = getKeyValue("deviceOidId", getKeyValue("data", data));//设备id
        String firmwareVersionId = getKeyValue("firmwareVersionId", getKeyValue("data", data));//固件版本id
        HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() {
        HdlOtaLogic.getInstance().getDeviceFirmwareDownloadUrl(firmwareVersionId, new CloudCallBeak<DownloadUrlBean>() {
            @Override
            public void onSuccess(Boolean obj) {
            public void onSuccess(DownloadUrlBean obj) {
                uniCallbackData(obj, callback);
            }
@@ -354,6 +384,37 @@
                uniCallbackData(null, e.getCode(), e.getMsg(), callback);
            }
        });
    }
    /**
     * 向云端发起【设备固件】升级OTA指令
     */
    private void uniUpgradeDeviceFirmware(Object data, DCUniMPJSCallback callback) {
        String deviceMac = getKeyValue("mac", getKeyValue("data", data));//网关设备mac(查找socket)
        String deviceOidId = getKeyValue("deviceOidId", getKeyValue("data", data));//设备id
        String firmwareVersionId = getKeyValue("firmwareVersionId", getKeyValue("data", data));//固件版本id
        boolean isLocalConnect = HdlDeviceLogic.getInstance().isLocalConnect(deviceMac);
        if (isLocalConnect) {
            //本地
            //1,建立本地服务;
            // 2,告诉网关手机ip和端口;
        } else {
            //云端
            HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() {
                @Override
                public void onSuccess(Boolean obj) {
                    uniCallbackData(obj, callback);
                }
                @Override
                public void onFailure(HDLException e) {
                    uniCallbackData(null, e.getCode(), e.getMsg(), callback);
                }
            });
        }
    }
    /**
@@ -396,9 +457,20 @@
    }
    /**
     * 向云端发起【设备驱动】升级OTA指令
     * 获取【设备本地驱动】列表
     */
    private void uniUpgradeGatewayDriver(Object data, DCUniMPJSCallback callback) {
    private void uniGetLocalDrivers(Object data, DCUniMPJSCallback callback) {
        String driveCode = getKeyValue("driveCode", getKeyValue("data", data));//驱动编号或驱动名称
        String osImageId = getKeyValue("osImageId", getKeyValue("data", data));//驱动类型id
        String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动类型id
    }
    /**
     * 向云端发起【设备驱动】下载指令
     */
    private void uniGatewayDriverDownload(Object data, DCUniMPJSCallback callback) {
        String deviceOid = getKeyValue("oid", getKeyValue("data", data));//网关设备oid
        String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动版本id
        HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() {
@@ -415,6 +487,35 @@
    }
    /**
     * 向云端发起【设备驱动】升级OTA指令
     */
    private void uniUpgradeGatewayDriver(Object data, DCUniMPJSCallback callback) {
        String deviceMac = getKeyValue("mac", getKeyValue("data", data));//网关设备mac(查找socket)
        String deviceOid = getKeyValue("oid", getKeyValue("data", data));//网关设备oid
        String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动版本id
        boolean isLocalConnect = HdlDeviceLogic.getInstance().isLocalConnect(deviceMac);
        if (isLocalConnect) {
            //本地
            //1,建立本地服务;
            // 2,告诉网关手机ip和端口;
        } else {
            HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() {
                @Override
                public void onSuccess(Boolean obj) {
                    uniCallbackData(obj, callback);
                }
                @Override
                public void onFailure(HDLException e) {
                    uniCallbackData(null, e.getCode(), e.getMsg(), callback);
                }
            });
        }
    }
    /**
     * 逆变器清空住宅id
     *
     * @param data     uni数据