From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 166 insertions(+), 13 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 9912143..2d9a54f 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;
@@ -12,13 +13,20 @@
import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LogoutType;
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 com.hdl.photovoltaic.utils.SharedPreUtils;
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 +74,7 @@
@Override
public void onFailure(HDLException error) {
if (cloudCallBeak != null) {
- cloudCallBeak.onFailure(error);
+ cloudCallBeak.onFailure(HttpClient.getException(error));
}
}
});
@@ -101,12 +109,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 +167,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,7 +274,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());
+ json.addProperty("userId", UserConfigManage.getInstance().getUserId());
HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@Override
public void onSuccess(String jsonStr) {
@@ -449,13 +501,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);
}
@@ -491,13 +545,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);
}
@@ -560,13 +616,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);//閭
@@ -625,7 +683,7 @@
/**
- * 鍙戦�侀獙璇佺爜(B鍜孋绔叡鐢�)
+ * 鍙戦�侀獙璇佺爜(C绔�)
*
* @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
* @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
@@ -633,14 +691,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);//璇█
@@ -687,15 +787,67 @@
}
/**
+ * 娉ㄩ攢璐﹀彿(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);
+ }
+ }
+ });
+
+
+ }
+
+ /**
+ * 閫�鍑虹櫥褰�
+ */
+ public void logout(LogoutType logoutType) {
+ HdlResidenceLogic.getInstance().pushDel(new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String obj) {
+// SharedPreUtils.putBoolean("pushAddCache", true);
+ HDLLinkPMUser.getInstance().logout(logoutType.getValue());
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+// SharedPreUtils.putBoolean("pushAddCache", false);
+ HDLLinkPMUser.getInstance().logout(logoutType.getValue());
+ }
+ });
+ }
+
+ /**
* 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅
*/
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);//鏄惁閫夋嫨闅愮鏀跨瓥
@@ -709,7 +861,8 @@
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().setNoNetworkFlag(false);
UserConfigManage.getInstance().Save();
}
--
Gitblit v1.8.0