From 3ea2633e2113e35c431e165b4c94dca66ca191ae Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 30 六月 2023 17:27:37 +0800 Subject: [PATCH] Merge branch 'hxb' into wjc --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 83 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 77 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index fa50ef7..a744fa5 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -13,6 +13,7 @@ import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.ui.bean.HouseIdBean; +import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.uni.UniToAndroidBean; @@ -24,6 +25,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 +93,58 @@ } 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().steGatewayParam(mac, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + HdlDeviceLogic.getInstance().editGatewayParam(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().addInverterDeviceToCloud(mac, + gatewayBean.getGatewayType(), + 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,13 +158,31 @@ @Override public void onError(HDLLinkException e) { //鍙戦�佸け璐� - uniCallbackData(null, e.getCode() + "", "", callback); + uniCallbackData(null, e.getCode(), "", callback); } }); } break; case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODBUS_SEND: { sendModBus(data, callback); + } + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OID: { + //娣诲姞璁惧鍒颁簯绔� + String mac = getKeyValue("mac", getKeyValue("data", data)); + //鑾峰彇oid鍒楄〃 + HdlDeviceLogic.getInstance().getGatewayOidList(mac, new CloudCallBeak<List<OidBean>>() { + @Override + public void onSuccess(List<OidBean> list) { + if (callback != null) { + uniCallbackData(list, callback); + } + } + + @Override + public void onFailure(Exception e) { + uniCallbackData(null, -2, e.getMessage(), callback); + } + }); } } @@ -166,6 +231,9 @@ return; } ModBusBean modBusBean = com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSONString(tempData), ModBusBean.class); +// ModBusBean modBusBean = new ModBusBean(); +// modBusBean.setOid("0101050219D44A00"); +// modBusBean.setData(new byte[]{00,01,00,00,00,0x09,00,00,00,01,03,00,00,00,01}); if (modBusBean.getOid() == null || modBusBean.getData() == null) { LogUtils.i("鍐呭涓虹┖,oid=" + modBusBean.getOid() + " data=" + modBusBean.getData()); return; @@ -180,7 +248,7 @@ @Override public void onError(HDLLinkException e) { - uniCallbackData(null, e.getCode() + "", "澶辫触", callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); } @@ -259,7 +327,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 +344,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); } /** @@ -292,6 +360,9 @@ if (TextUtils.isEmpty(obj.toString())) { return new JSONObject(); } + if (obj.toString().startsWith("{") && obj.toString().endsWith("}")) { + return new JSONObject(obj.toString()); + } if (obj instanceof JSONObject) { return (JSONObject) obj; } -- Gitblit v1.8.0