From 80f2ca2df62ff1cd03046864af504245be078eb2 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 05 六月 2025 10:37:28 +0800 Subject: [PATCH] 2025年06月05日10:37:26 --- app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 195 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 183 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java index 5efd394..ae8e8b7 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java @@ -5,6 +5,7 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; +import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; @@ -15,10 +16,15 @@ 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.AuthorizationAccountBean; import com.hdl.photovoltaic.ui.bean.BUserInfo; import com.hdl.photovoltaic.ui.bean.CUserInfo; import java.io.File; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -66,7 +72,7 @@ @Override public void onFailure(HDLException error) { if (cloudCallBeak != null) { - cloudCallBeak.onFailure(error); + cloudCallBeak.onFailure(HttpClient.getException(error)); } } }); @@ -101,12 +107,54 @@ @Override public void onFailure(HDLException error) { if (callBack != null) { - callBack.onFailure(error); + callBack.onFailure(HttpClient.getException(error)); } } }); } + + /** + * 妫�楠岃处鍙锋潈闄�(B绔处鍙�) + * + * @param cloudCallBeak - + */ + public void getCompanyParterMenu_B(CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.B_POST_getCompanyParterMenu; + JsonObject json = new JsonObject(); + json.addProperty("sysCode", "xenterra-app"); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String json) { + if (cloudCallBeak != null) { + if (TextUtils.isEmpty(json)) { + cloudCallBeak.onSuccess(false); + } else { + Gson gson = new Gson(); + Type type = new TypeToken<List<AuthorizationAccountBean>>() { + }.getType(); + List<AuthorizationAccountBean> authorizationAccounts = gson.fromJson(json, type); + if (authorizationAccounts != null && !authorizationAccounts.isEmpty()) { + cloudCallBeak.onSuccess(true); + } else { + cloudCallBeak.onSuccess(false); + } + } + + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + /** * 淇敼瀵嗙爜(B绔处鍙�) @@ -117,11 +165,13 @@ * @param verifyCode 楠岃瘉鐮� * @param cloudCallBeak - */ - public void changePassword_B(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void changePassword_B(boolean isPhone, String account, String loginPwd, String verifyCode, String phonePrefix, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.B_POST_FORGET_PROGRAM_PWD; JsonObject json = new JsonObject(); if (isPhone) { + json.addProperty("userPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴 + json.addProperty("phonePrefix", phonePrefix.replace("+", ""));//鎵嬫満鍙峰墠缂� } else { json.addProperty("userEmail", account); } @@ -222,6 +272,7 @@ public void getUserInfo_B(CloudCallBeak<BUserInfo> cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_USERINFO; JsonObject json = new JsonObject(); + json.addProperty("userId", UserConfigManage.getInstance().getUserId()); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { @@ -332,6 +383,41 @@ } + /** + * 涓嬭浇瀛愯处鍙峰ご鍍�(C绔处鍙�) + * + * @param childAccountId 瀛愯处鍙穒d + * @param childId 瀛愯处鍙�(鎴愬憳)id鏌ユ壘瀛愯处鍙锋帴鍙h幏鍙栧埌鐨勬暟鎹甶d + * @param homeId 浣忓畢id + * @param cloudCallBeak - + */ + public void getHeadPortrait_C(String childAccountId, String childId, String homeId, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_IMAGE_URL; + JsonObject json = new JsonObject(); + json.addProperty("childAccountId", childAccountId); + if (TextUtils.isEmpty(childId)) { + json.addProperty("childId", childId); + } + json.addProperty("homeId", homeId); + 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); + } + } + }); + + + } + /** * 淇敼鐢ㄦ埛鍚嶇О @@ -413,13 +499,15 @@ * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) * @param loginPwd 瀵嗙爜 * @param verifyCode 楠岃瘉鐮� + * @param phonePrefix 鎵嬫満鍙峰墠缂� * @param cloudCallBeak - */ - public void registerAccount_C(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void registerAccount_C(boolean isPhone, String account, String loginPwd, String verifyCode, String phonePrefix, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.C_POST_GET_OAUTH_REGISTER; JsonObject json = new JsonObject(); if (isPhone) { json.addProperty("memberPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴 + json.addProperty("phonePrefix", phonePrefix.replace("+", ""));//鎵嬫満鍙峰墠缂� } else { json.addProperty("memberEmail", account); } @@ -455,13 +543,15 @@ * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) * @param loginPwd 鏂板瘑鐮� * @param verifyCode 楠岃瘉鐮� + * @param phonePrefix 鎵嬫満鍙峰墠缂� * @param cloudCallBeak - */ - public void changePassword_C(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void changePassword_C(boolean isPhone, String account, String loginPwd, String verifyCode, String phonePrefix, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.C_POST_FORGET_PROGRAM_PWD; JsonObject json = new JsonObject(); if (isPhone) { json.addProperty("memberPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴 + json.addProperty("phonePrefix", phonePrefix.replace("+", ""));//鎵嬫満鍙峰墠缂� } else { json.addProperty("memberEmail", account); } @@ -524,13 +614,15 @@ * * @param memberPhone 鎵嬫満鍙凤紙鏈粦瀹氭墜鏈哄彿鍙傛暟浼爊ull锛� * @param memberEmail 閭锛堟湭缁戝畾閭鍙傛暟浼爊ull锛� + * @param phonePrefix 鎵嬫満鍙峰墠缂� * @param verifyCode 楠岃瘉鐮� */ - public void bindingAccount_C(String memberPhone, String memberEmail, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void bindingAccount_C(String memberPhone, String memberEmail, String verifyCode, String phonePrefix, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.C_POST_MEMBERINFO_BINDWITHACCOUNT; JsonObject json = new JsonObject(); if (!TextUtils.isEmpty(memberPhone)) { json.addProperty("memberPhone", memberPhone);//鎵嬫満鍙� + json.addProperty("phonePrefix", phonePrefix.replace("+", ""));//鎵嬫満鍙峰墠缂� } if (!TextUtils.isEmpty(memberEmail)) { json.addProperty("memberEmail", memberEmail);//閭 @@ -589,7 +681,7 @@ /** - * 鍙戦�侀獙璇佺爜(B鍜孋绔叡鐢�) + * 鍙戦�侀獙璇佺爜(C绔�) * * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠� * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) @@ -597,14 +689,56 @@ * @param verifyType 1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁 * @param cloudCallBeak - */ - public void sendVerifyCode(boolean isPhone, String account, String phonePrefix, int verifyType, CloudCallBeak<Boolean> cloudCallBeak) { - String requestUrl = HttpApi.POST_SEND_VERIFICATION; + public void sendVerifyCode_C(boolean isPhone, String account, String phonePrefix, String verifyType, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.POST_SEND_VERIFICATION_C; JsonObject json = new JsonObject(); if (isPhone) { json.addProperty("phone", account);//鐢ㄦ埛鎵嬫満鍙� - json.addProperty("phonePrefix", phonePrefix);//鎵嬫満鍙峰墠缂� + json.addProperty("phonePrefix", phonePrefix.replace("+", ""));//鎵嬫満鍙峰墠缂� } else { json.addProperty("mail", account);//閭 + } + json.addProperty("verifyType", verifyType);//1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁 +// json.addProperty("languageType", loginPwd);//璇█ +// json.addProperty("expireSecond", expireSecond);//楠岃瘉鐮佽繃鏈熸椂闂达紙绉掞級,榛樿5鍒嗛挓 +// json.addProperty("platform", "APP"); + + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String str) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(true); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + /** + * 鍙戦�侀獙璇佺爜(B绔�) + * + * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠� + * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) + * @param phonePrefix 鎵嬫満鍙峰墠缂� + * @param verifyType 1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁 + * @param cloudCallBeak - + */ + public void sendVerifyCode_B(boolean isPhone, String account, String phonePrefix, String verifyType, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = isPhone ? HttpApi.POST_SEND_VERIFICATION_Phone_B : HttpApi.POST_SEND_VERIFICATION_Email_B; + JsonObject json = new JsonObject(); + if (isPhone) { + json.addProperty("userPhone", account);//鐢ㄦ埛鎵嬫満鍙� + json.addProperty("phonePrefix", phonePrefix.replace("+", ""));//鎵嬫満鍙峰墠缂� + } else { + json.addProperty("userEmail", account);//閭 } json.addProperty("verifyType", verifyType);//1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁 // json.addProperty("languageType", loginPwd);//璇█ @@ -651,15 +785,48 @@ } /** + * 娉ㄩ攢璐﹀彿(C绔处鍙�) + * + * @param pwd 璐﹀彿瀵嗙爜 + * @param cloudCallBeak - + */ + public void accountUnregisterC(String pwd, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_MEMBER_UNREGISTER; + JsonObject json = new JsonObject(); + json.addProperty("userId", UserConfigManage.getInstance().getUserId()); + json.addProperty("pwd", pwd); + 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); + } + } + }); + + + } + + /** * 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅 */ private void saveUserData(HDLLoginBean obj) { if (obj != null) { boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId()); UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓� - if (!UserConfigManage.getInstance().isTheSameLoginAccount()) { + //UserConfigManage.getInstance().getUserId()琛ㄧず绗竴娆″畨瑁呯櫥褰� + if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserId()) && !UserConfigManage.getInstance().isTheSameLoginAccount()) { //涓嶅悓璐﹀彿,鍒犻櫎涔嬪墠鐨勬棫璐﹀彿鏃ュ織淇℃伅; HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentUserRootPath()); + HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getUserFilePath()); + UserConfigManage.getInstance().setHomeId(""); } UserConfigManage.getInstance().setLogin(true);//鏄惁鐧诲綍 UserConfigManage.getInstance().setAcceiptPolicy(true);//鏄惁閫夋嫨闅愮鏀跨瓥 @@ -667,9 +834,13 @@ UserConfigManage.getInstance().setUserId(obj.getUserId());//鐢ㄦ埛id //b绔拰c绔畾涔夎处鍙峰瓧娈典笉涓�鏍� UserConfigManage.getInstance().setAccount(TextUtils.isEmpty(obj.getAccount()) ? obj.getUserPhone() : obj.getAccount());//璐﹀彿 + UserConfigManage.getInstance().setBingPhone(obj.getUserPhone());//缁戝畾鎵嬫満 + UserConfigManage.getInstance().setBingEmail(obj.getUserEmail());//缁戝畾閭 + + UserConfigManage.getInstance().setUserName(obj.getName()); UserConfigManage.getInstance().setToken(obj.getAccessToken());//Token UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());//璁よ瘉璇锋眰澶村墠缂�(搴曞眰璇锋眰缁熶竴鍔�) - UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token鐢ㄧ殑鍒锋柊Token鐢ㄧ殑 + UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token鐢ㄧ殑 UserConfigManage.getInstance().Save(); } -- Gitblit v1.8.0