From 30859ca8f2175475d2c666353bc27f3b2ceede53 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 22 八月 2024 13:43:47 +0800 Subject: [PATCH] 2024年08月22日13:43:45 --- app/src/main/java/com/hdl/photovoltaic/other/HdlMemberLogic.java | 169 +++++++++++++++++++++++++------------------------------- 1 files changed, 76 insertions(+), 93 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMemberLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMemberLogic.java index fc0abf9..e64ad2c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMemberLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMemberLogic.java @@ -6,17 +6,29 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.photovoltaic.HDLApp; +import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.bean.PageNumberObject; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.api.HttpApi; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; +import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo; import com.hdl.photovoltaic.ui.bean.MemberBean; import com.hdl.photovoltaic.ui.bean.StaffBean; import com.hdl.photovoltaic.ui.bean.UserRightTypeBean; +import com.hdl.photovoltaic.utils.AesUtils; +import com.hdl.photovoltaic.utils.Md5Utils; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +import okhttp3.ResponseBody; /** * 鎴愬憳閫昏緫 @@ -82,11 +94,11 @@ * @param pageSize 椤垫暟锛堜竴椤靛灏戞暟鎹級 * @param cloudCallBeak - */ - public void getStaffList(long pageNo, long pageSize, CloudCallBeak<PageNumberObject<List<StaffBean>>> cloudCallBeak) { + public void getStaffList(long pageNo, long pageSize, CloudCallBeak<PageNumberObject<StaffBean>> cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_LISTBYPAGE; JsonObject json = new JsonObject(); json.addProperty("pageNo", pageNo); - json.addProperty("pageSize", pageNo); + json.addProperty("pageSize", pageSize); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { @@ -96,9 +108,9 @@ } } Gson gson = new Gson(); - Type type = new TypeToken<PageNumberObject<List<StaffBean>>>() { + Type type = new TypeToken<PageNumberObject<StaffBean>>() { }.getType(); - PageNumberObject<List<StaffBean>> pageNumberObject = gson.fromJson(jsonStr, type); + PageNumberObject<StaffBean> pageNumberObject = gson.fromJson(jsonStr, type); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(pageNumberObject); } @@ -120,7 +132,7 @@ * @param userId - * @param cloudCallBeak - */ - public void getStaffInfo(String userId, CloudCallBeak<PageNumberObject<StaffBean>> cloudCallBeak) { + public void getStaffInfo(String userId, CloudCallBeak<StaffBean> cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_MANAGE_INFO; JsonObject json = new JsonObject(); json.addProperty("userId", userId); @@ -129,15 +141,14 @@ public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(new PageNumberObject<>()); + cloudCallBeak.onSuccess(new StaffBean()); } } Gson gson = new Gson(); - Type type = new TypeToken<PageNumberObject<StaffBean>>() { - }.getType(); - PageNumberObject<StaffBean> pageNumberObject = gson.fromJson(jsonStr, type); + + StaffBean staffBean = gson.fromJson(jsonStr, StaffBean.class); if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(pageNumberObject); + cloudCallBeak.onSuccess(staffBean); } } @@ -261,69 +272,6 @@ } - /** - * 鑾峰彇鐢电珯浜や粯浜岀淮鐮侊紙B绔級 - * 鎻忚堪锛氬畨瑁呭晢鐢电珯鐨勪氦浠樹簩缁寸爜 - * - * @param homeId 鐢电珯id - * @param cloudCallBeak - - */ - public void getDeliveryUrlQrcode(String homeId, CloudCallBeak<String> cloudCallBeak) { - String requestUrl = HttpApi.POST_getDeliveryUrlQrcode; - JsonObject json = new JsonObject(); - json.addProperty("homeId", homeId); -// json.addProperty("zoneType", memberBean.getId());//鍖哄煙 - - HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { - @Override - public void onSuccess(String jsonStr) { - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(jsonStr); - } - } - - @Override - public void onFailure(HDLException e) { - if (cloudCallBeak != null) { - cloudCallBeak.onFailure(e); - } - } - }); - - } - - /** - * 鐢电珯鎵嬪姩浜や粯(B绔�) - * 鎻忚堪锛氬畨瑁呭晢鎵嬪姩浜や粯鐢电珯缁欐寚瀹氱殑C绔处鍙� - * - * @param homeId 鐢电珯id - * @param account C绔处鍙� - * @param cloudCallBeak - - */ - public void getDeliverToAccount(String homeId, String account, CloudCallBeak<Boolean> cloudCallBeak) { - String requestUrl = HttpApi.POST_deliverToAccount; - JsonObject json = new JsonObject(); - json.addProperty("homeId", homeId); - json.addProperty("account", account);//C绔处鍙� -// json.addProperty("zoneType", memberBean.getId());//鍖哄煙 - - HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { - @Override - public void onSuccess(String jsonStr) { - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(true); - } - } - - @Override - public void onFailure(HDLException e) { - if (cloudCallBeak != null) { - cloudCallBeak.onFailure(e); - } - } - }); - - } /** * 鑾峰彇鎴愬憳鍒楄〃锛圕绔級 @@ -335,7 +283,6 @@ String requestUrl = HttpApi.C_POST_MEMBER_LIST; JsonObject json = new JsonObject(); json.addProperty("homeId", memberBean.getHomeId()); - HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { @@ -361,7 +308,9 @@ } }); + } + /** * 娣诲姞鎴愬憳锛圕绔級 @@ -462,37 +411,71 @@ } /** - * 鐢电珯鎺堟潈瀹夎鍟嗭紙C绔級 - * 鎻忚堪锛氫氦浠樺悗鐨勪綇瀹咃紝C绔敤鎴峰彲浠ュ紑鍚巿鏉冨悗瀹夎鍟嗗彲浠ョ户缁皟璇曠數绔� - * - * @param homeId 鐢电珯id - * @param debugPerm 鎺堟潈鐘舵�侊紙true鍙互缁х画璋冭瘯锛� - * @param cloudCallBeak - + * 涓嬭浇鎴愬憳锛堝瓙璐﹀彿锛夊ご鍍� 宸蹭涪寮� */ - public void homeUpdateDebugPerm(String homeId, boolean debugPerm, CloudCallBeak<Boolean> cloudCallBeak) { - String requestUrl = HttpApi.C_POST_HOME_UPDATEDEBUGPERM; + public void getHeadPIortrait(MemberBean memberBean, CloudCallBeak<byte[]> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_HOME_GETHEADP脧ORTRAIT; JsonObject json = new JsonObject(); - json.addProperty("homeId", homeId); - json.addProperty("debugPerm", debugPerm); -// json.addProperty("zoneType", memberBean.getId());//鍖哄煙 - - HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + json.addProperty("homeId", memberBean.getHomeId()); + json.addProperty("childAccountId", memberBean.getChildAccountId()); +// json.addProperty("childId", memberBean.getChildAccountId());//鏌ユ壘瀛愯处鍙锋帴鍙h幏鍙栧埌鐨勬暟鎹紙涓婚敭id==childId锛� + HttpClient.getInstance().downLoadFile(requestUrl, new CloudCallBeak<ResponseBody>() { @Override - public void onSuccess(String jsonStr) { - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(true); - } + public void onSuccess(ResponseBody zipData) { + HdlThreadLogic.runSubThread(new Runnable() { + @Override + public void run() { + byte[] buf = new byte[1204 * 4]; + int len = 0; + try { + long total = zipData.contentLength(); + if (total == 0) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new byte[]{}); + } + return; + } + List<Byte> byteList = new ArrayList<>(); + InputStream is = zipData.byteStream(); + while ((len = is.read(buf)) != -1) { + for (int i = 0; i < len; i++) { + byteList.add(buf[i]); + } + } + is.close(); + if (byteList.size() == 0) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new byte[]{}); + } + return; + } + byte[] newByte = new byte[byteList.size()]; + for (int i = 0; i < byteList.size(); i++) { + newByte[i] = byteList.get(i); + } + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(newByte); + } + } catch (Exception e) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new byte[]{}); + } + } + } + }); } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { - cloudCallBeak.onFailure(e); + cloudCallBeak.onSuccess(new byte[]{}); } } }); - } } + + + -- Gitblit v1.8.0