|  |  | 
 |  |  | import com.hdl.photovoltaic.ui.bean.HouseIdBean; | 
 |  |  | import com.hdl.photovoltaic.ui.bean.LinkBean; | 
 |  |  | import com.hdl.photovoltaic.ui.bean.MemberBean; | 
 |  |  | import com.hdl.photovoltaic.ui.bean.MessageBean; | 
 |  |  | import com.hdl.photovoltaic.ui.bean.NotRunBean; | 
 |  |  | import com.hdl.photovoltaic.ui.bean.OidBean; | 
 |  |  | import com.hdl.photovoltaic.ui.bean.QrcodeUrlBean; | 
 |  |  | 
 |  |  | import com.hdl.photovoltaic.ui.bean.UserRightTypeBean; | 
 |  |  | import com.hdl.photovoltaic.ui.me.AsRegardsActivity; | 
 |  |  | import com.hdl.photovoltaic.ui.me.CPersonalDataActivity; | 
 |  |  | import com.hdl.photovoltaic.ui.me.HelpWebActivity; | 
 |  |  | import com.hdl.photovoltaic.ui.me.SetActivity; | 
 |  |  | import com.hdl.photovoltaic.ui.message.MessageInfoActivity; | 
 |  |  | import com.hdl.photovoltaic.ui.newC.MessageCenterListActivity; | 
 |  |  | import com.hdl.photovoltaic.ui.newC.PowerStationsListActivity; | 
 |  |  | import com.hdl.photovoltaic.uni.HDLUniMP; | 
 |  |  | 
 |  |  |                         this.uniDeleteOid(mode_type, data, callback); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                     //设备清空运行数据 | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_DEVICE_clear_data: { | 
 |  |  |                         this.uniDeviceClearData(mode_type, data, callback); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(topic)) { | 
 |  |  | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                     //打开消息详情 | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_Message_Center_Detail: { | 
 |  |  |                         try { | 
 |  |  |                             String msgId = getKeyValue("msgId", getKeyValue("data", data));//唯一标识 | 
 |  |  |                             MessageBean messageBean = new MessageBean(); | 
 |  |  |                             messageBean.setMsgId(Long.parseLong(msgId)); | 
 |  |  |                             Intent intent = new Intent(); | 
 |  |  |                             intent.putExtra("messageBean", new Gson().toJson(messageBean)); | 
 |  |  |                             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | 
 |  |  |                             intent.setClass(HDLApp.getInstance(), MessageInfoActivity.class); | 
 |  |  |                             HDLApp.getInstance().startActivity(intent); | 
 |  |  |                         } catch (Exception e) { | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                     //打开C端帮助页面 | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_help_Detail: { | 
 |  |  |                         Intent intent = new Intent(); | 
 |  |  |                         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | 
 |  |  |                         intent.setClass(HDLApp.getInstance(), HelpWebActivity.class); | 
 |  |  |                         HDLApp.getInstance().startActivity(intent); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                     //设备定位 | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_OTHER_GET_DEVICE_LOCATION: { | 
 |  |  |                         this.uniGetDeviceFind(mode_type, data, TopicApi.DELETING_GATEWAY_FIND, callback); | 
 |  |  |                         ; | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 } | 
 |  |  |             } else if (HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL.equals(topic)) { | 
 |  |  |                 //无网模式 | 
 |  |  | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL_EXIT: { | 
 |  |  |                         //退出无网模式标识 | 
 |  |  |                         UserConfigManage.getInstance().setNoNetworkFlag(false); | 
 |  |  |                         UserConfigManage.getInstance().setAutomaticSkipNoNetworkFlag(false); | 
 |  |  |                         UserConfigManage.getInstance().Save(); | 
 |  |  |                         uniSuccessCallback(mode_type, true, callback); | 
 |  |  |                         if (null != HDLUniMPSDKManager.getInstance().getUniMP()) { | 
 |  |  | 
 |  |  |                         Intent intent = new Intent(HDLApp.getInstance(), LoginActivity.class); | 
 |  |  |                         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); | 
 |  |  |                         HDLApp.getInstance().startActivity(intent); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL_FROM_OFFLINE: { | 
 |  |  |                         //设备离网时有入口进入无网模式 | 
 |  |  |                         uniSuccessCallback(mode_type, true, callback); | 
 |  |  |                         HdlAccountLogic.getInstance().logout(LogoutType.UniLogout); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                     case HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL_DEVICE_INFO: { | 
 |  |  | 
 |  |  |             @Override | 
 |  |  |             public void onError(HDLLinkException e) { | 
 |  |  |  | 
 |  |  |                 if (callback != null) { | 
 |  |  |                     uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 设备定位 | 
 |  |  |      */ | 
 |  |  |     private void uniGetDeviceFind(String type, Object data, String TopicApi, DCUniMPJSCallback callback) { | 
 |  |  |         String mac = getKeyValue("mac", getKeyValue("data", data)); | 
 |  |  |         JsonObject jObject = new JsonObject(); | 
 |  |  |         String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); | 
 |  |  |         if (!TextUtils.isEmpty(attribute_data)) { | 
 |  |  |             try { | 
 |  |  |                 jObject = new Gson().fromJson(attribute_data, JsonObject.class); | 
 |  |  |             } catch (Exception ignored) { | 
 |  |  |                 jObject = new JsonObject(); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jObject, "", new HDLLinkCallBack() { | 
 |  |  |             @Override | 
 |  |  |             public void onSuccess(String s) { | 
 |  |  |                 if (callback != null) { | 
 |  |  |                     try { | 
 |  |  |                         if (s.startsWith("{")) { | 
 |  |  |                             uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback); | 
 |  |  |                         } else if (s.startsWith("[")) { | 
 |  |  |                             uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback); | 
 |  |  |                         } else { | 
 |  |  |                             uniSuccessCallback(type, s, callback); | 
 |  |  |                         } | 
 |  |  |                     } catch (Exception e) { | 
 |  |  |                         uniSuccessCallback(type, s, callback); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             @Override | 
 |  |  |             public void onError(HDLLinkException e) { | 
 |  |  |                 if (callback != null) { | 
 |  |  |                     uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                                 uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); | 
 |  |  |                                 return; | 
 |  |  |                             } | 
 |  |  |                             if (cloudInverterDeviceBean.getDeviceStatus() != 3) { | 
 |  |  |                             if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { | 
 |  |  |                                 uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); | 
 |  |  |                                 return; | 
 |  |  |                             } | 
 |  |  | 
 |  |  |                             uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); | 
 |  |  |                             return; | 
 |  |  |                         } | 
 |  |  |                         if (cloudInverterDeviceBean.getDeviceStatus() != 3) { | 
 |  |  |                         if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { | 
 |  |  |                             uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); | 
 |  |  |                             return; | 
 |  |  |                         } | 
 |  |  | 
 |  |  |                                 uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); | 
 |  |  |                                 return; | 
 |  |  |                             } | 
 |  |  |                             if (cloudInverterDeviceBean.getDeviceStatus() != 3) { | 
 |  |  |                             if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { | 
 |  |  |                                 uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); | 
 |  |  |                                 return; | 
 |  |  |                             } | 
 |  |  | 
 |  |  |                             uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback); | 
 |  |  |                             return; | 
 |  |  |                         } | 
 |  |  |                         if (cloudInverterDeviceBean.getDeviceStatus() != 3) { | 
 |  |  |                         if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) { | 
 |  |  |                             uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback); | 
 |  |  |                             return; | 
 |  |  |                         } | 
 |  |  | 
 |  |  |         } | 
 |  |  |         List<GatewayBean> newList = new ArrayList<>(); | 
 |  |  |         List<GatewayBean> inverterList = new ArrayList<>(); | 
 |  |  |         List<GatewayBean> inverterUnactivatedList = new ArrayList<>(); | 
 |  |  |         List<GatewayBean> lcList = new ArrayList<>(); | 
 |  |  |         for (int i = 0; i < list.size(); i++) { | 
 |  |  |             if (list.get(i).getSpk().equals(HdlDeviceLogic.getInstance().INVERTER_DEVICE_SPK)) { | 
 |  |  |                 inverterList.add(list.get(i)); | 
 |  |  |             GatewayBean gatewayBean = list.get(i); | 
 |  |  |             if (gatewayBean == null) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             if (gatewayBean.isActivate()) { | 
 |  |  |                 if (gatewayBean.getSpk().equals(HdlDeviceLogic.getInstance().INVERTER_DEVICE_SPK) | 
 |  |  |                         || gatewayBean.getSpk().equals(HdlDeviceLogic.getInstance().OFF_INVERTER_OG_SPK)) { | 
 |  |  |                     inverterList.add(gatewayBean); | 
 |  |  |                 } else { | 
 |  |  |                     lcList.add(gatewayBean); | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 lcList.add(list.get(i)); | 
 |  |  |                 inverterUnactivatedList.add(gatewayBean); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         newList.addAll(inverterUnactivatedList); | 
 |  |  |         newList.addAll(inverterList); | 
 |  |  |         newList.addAll(lcList); | 
 |  |  |         return newList; | 
 |  |  | 
 |  |  |                     inverterDeviceBean.setDeviceStatus(gatewayBean.getDeviceStatus()); | 
 |  |  |                     inverterDeviceBean.setSpk(gatewayBean.getSpk()); | 
 |  |  |                     inverterDeviceBean.setDeviceType(gatewayBean.getDeviceType()); | 
 |  |  |                     inverterDeviceBean.setActivate(gatewayBean.isActivate()); | 
 |  |  |                     newList.add(inverterDeviceBean); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 设备清空运行数据 | 
 |  |  |      * | 
 |  |  |      * @param type     类型 | 
 |  |  |      * @param data     uni请求数据 | 
 |  |  |      * @param callback uni回调 | 
 |  |  |      */ | 
 |  |  |     public void uniDeviceClearData(String type, Object data, DCUniMPJSCallback callback) { | 
 |  |  |         String mac = getKeyValue("mac", getKeyValue("data", data)); | 
 |  |  |         HdlDeviceLogic.getInstance().DeviceClearData(mac, new LinkCallBack<Boolean>() { | 
 |  |  |             @Override | 
 |  |  |             public void onSuccess(Boolean obj) { | 
 |  |  |                 uniSuccessCallback(type, obj, callback); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             @Override | 
 |  |  |             public void onError(HDLLinkException e) { | 
 |  |  |                 uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 发送modbus协议数据 |