From d0e49b8c045e09e96cc875b27033b4bfcf07438f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 29 四月 2025 20:50:37 +0800
Subject: [PATCH] 2025年04月29日20:50:35

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java |   95 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 80 insertions(+), 15 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 c1aae2b..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,13 @@
 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;
@@ -68,7 +72,7 @@
             @Override
             public void onFailure(HDLException error) {
                 if (cloudCallBeak != null) {
-                    cloudCallBeak.onFailure(error);
+                    cloudCallBeak.onFailure(HttpClient.getException(error));
                 }
             }
         });
@@ -103,7 +107,7 @@
             @Override
             public void onFailure(HDLException error) {
                 if (callBack != null) {
-                    callBack.onFailure(error);
+                    callBack.onFailure(HttpClient.getException(error));
                 }
             }
         });
@@ -111,7 +115,7 @@
     }
 
     /**
-     * 淇敼瀵嗙爜(B绔处鍙�)
+     * 妫�楠岃处鍙锋潈闄�(B绔处鍙�)
      *
      * @param cloudCallBeak -
      */
@@ -121,11 +125,22 @@
         json.addProperty("sysCode", "xenterra-app");
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
-            public void onSuccess(String str) {
+            public void onSuccess(String json) {
                 if (cloudCallBeak != null) {
-//                    boolean isBoolean =!TextUtils.isEmpty(str);
-//                    cloudCallBeak.onSuccess(isBoolean);
-                    cloudCallBeak.onSuccess(true);
+                    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);
+                        }
+                    }
+
                 }
             }
 
@@ -150,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);
         }
@@ -482,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);
         }
@@ -524,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);
         }
@@ -593,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);//閭
@@ -658,7 +681,7 @@
 
 
     /**
-     * 鍙戦�侀獙璇佺爜(B鍜孋绔叡鐢�)
+     * 鍙戦�侀獙璇佺爜(C绔�)
      *
      * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
      * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
@@ -666,12 +689,12 @@
      * @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);//閭
         }
@@ -700,6 +723,48 @@
     }
 
     /**
+     * 鍙戦�侀獙璇佺爜(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);//璇█
+//        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);
+                }
+            }
+        });
+
+
+    }
+
+    /**
      * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
      */
     public void signOutClearData() {

--
Gitblit v1.8.0