From c13cb54d0b9f9b2c73f213b6cdb163f462fd64c7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 13 十月 2023 18:17:59 +0800
Subject: [PATCH] 2023年10月13日18:17:52

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java |  234 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 189 insertions(+), 45 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 fae5e98..bbd321a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -9,22 +9,16 @@
 import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
 import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
 import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack;
-import com.hdl.linkpm.sdk.user.controller.HDLPMUserController;
-import com.hdl.photovoltaic.ui.bean.LoginUserBean;
-import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
-import com.hdl.photovoltaic.bean.HttpResponsePack;
-import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.api.HttpApi;
-import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * 鐧诲綍鐣岄潰鐨勯�昏緫
+ * 璐﹀彿閫昏緫
  */
 public class HdlAccountLogic {
 
@@ -47,6 +41,7 @@
         return sHdlAccountLogic;
     }
 
+    // region --------銆怋绔处鍙枫��---------
 
     /**
      * 鍒濆鍖栬处鍙风殑Url鍖哄煙鍦板潃
@@ -54,7 +49,7 @@
      * @param i_account 璐﹀彿
      */
     public void regionByAccount(String i_account, CloudCallBeak<HDLUserRegionBean> cloudCallBeak) {
-        HDLPMUserController.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() {
+        HDLLinkPMUser.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() {
             @Override
             public void onSuccess(HDLUserRegionBean regionBean) {
                 if (cloudCallBeak != null) {
@@ -86,11 +81,12 @@
         json.addProperty("loginPwd", loginPwd);
 //        json.addProperty("platform", "APP");
         json.addProperty("grantType", "password");
-        HDLPMUserController.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() {
+        HDLLinkPMUser.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() {
             @Override
             public void onSuccess(HDLLoginBean loginBean) {
 
                 if (callBack != null) {
+                    saveUserData(loginBean);
                     callBack.onSuccess(loginBean);
                 }
             }
@@ -102,28 +98,49 @@
                 }
             }
         });
-//        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
-//            @Override
-//            public void onSuccess(HttpResponsePack httpResponsePack) {
-//                if (httpResponsePack != null && httpResponsePack.getData() != null) {
-//                    Gson gson = new Gson();
-//                    String json = gson.toJson(httpResponsePack.getData());
-//                    LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class);
-//                    saveUserData(loginUserBean);
-//                    if (cloudCallBeak != null) {
-//                        cloudCallBeak.onSuccess(loginUserBean);
-//                    }
-//                }
-//            }
-//
-//            @Override
-//            public void onFailure(Exception exception) {
-//                if (cloudCallBeak != null) {
-//                    cloudCallBeak.onFailure(exception);
-//                }
-//            }
-//        });
+
     }
+
+    /**
+     * 淇敼瀵嗙爜(B绔处鍙�)
+     *
+     * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+     * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+     * @param loginPwd      鏂板瘑鐮�
+     * @param verifyCode    楠岃瘉鐮�
+     * @param cloudCallBeak -
+     */
+    public void changeBPassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.B_POST_FORGET_PROGRAM_PWD;
+        JsonObject json = new JsonObject();
+        if (isPhone) {
+            json.addProperty("userPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
+        } else {
+            json.addProperty("userEmail", account);
+        }
+        json.addProperty("loginPwd", loginPwd);//鏂板瘑鐮�
+        json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
+//       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);
+                }
+            }
+        });
+
+
+    }
+
 
     /**
      * 鍒锋柊Token(B绔处鍙�)
@@ -132,35 +149,162 @@
      * @param loginPwd      瀵嗙爜
      * @param cloudCallBeak -
      */
-    public void refreshToken(String account, String loginPwd, CloudCallBeak<LoginUserBean> cloudCallBeak) {
+    public void refreshToken(String account, String loginPwd, CloudCallBeak<HDLLoginBean> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Login;
         JsonObject json = new JsonObject();
         json.addProperty("grantType", "refresh_token");
 //        json.addProperty("refreshToken", UserConfigManage.getInstance().getRefreshToken());
-
-        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
-            public void onSuccess(HttpResponsePack httpResponsePack) {
-                if (httpResponsePack != null && httpResponsePack.getData() != null) {
-                    Gson gson = new Gson();
-                    String json = gson.toJson(httpResponsePack.getData());
-                    LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class);
-                    saveUserData(loginUserBean);
-                    if (cloudCallBeak != null) {
-                        cloudCallBeak.onSuccess(loginUserBean);
-                    }
+            public void onSuccess(String jsonStr) {
+                Gson gson = new Gson();
+                HDLLoginBean loginBean = gson.fromJson(jsonStr, HDLLoginBean.class);
+//                    saveUserData(loginBean);
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onSuccess(loginBean);
                 }
             }
 
             @Override
-            public void onFailure(Exception exception) {
+            public void onFailure(HDLException e) {
                 if (cloudCallBeak != null) {
-                    cloudCallBeak.onFailure(exception);
+                    cloudCallBeak.onFailure(e);
                 }
             }
         });
     }
 
+
+    // endregion
+
+    // region --------銆怌绔处鍙枫��---------
+
+    /**
+     * 娉ㄥ唽璐﹀彿(C绔处鍙�)
+     * 娉ㄦ剰:B
+     *
+     * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+     * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+     * @param loginPwd      瀵嗙爜
+     * @param verifyCode    楠岃瘉鐮�
+     * @param cloudCallBeak -
+     */
+    public void registerAccount(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.C_POST_GET_OAUTH_REGISTER;
+        JsonObject json = new JsonObject();
+        if (isPhone) {
+            json.addProperty("memberPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
+        } else {
+            json.addProperty("memberEmail", account);
+        }
+        json.addProperty("loginPwd", loginPwd);//鐧婚檰瀵嗙爜锛岄渶瑕丮D5澶勭悊
+        json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
+//       json.addProperty("platform", "APP");
+//        json.addProperty("memberName", "memberName");//浼氬憳鏄电О
+
+        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);
+                }
+            }
+        });
+
+
+    }
+
+
+    /**
+     * 淇敼瀵嗙爜(C绔处鍙�)
+     *
+     * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+     * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+     * @param loginPwd      鏂板瘑鐮�
+     * @param verifyCode    楠岃瘉鐮�
+     * @param cloudCallBeak -
+     */
+    public void changeCPassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.C_POST_FORGET_PROGRAM_PWD;
+        JsonObject json = new JsonObject();
+        if (isPhone) {
+            json.addProperty("memberPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
+        } else {
+            json.addProperty("memberEmail", account);
+        }
+        json.addProperty("loginPwd", loginPwd);//鏂板瘑鐮�
+        json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
+//       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);
+                }
+            }
+        });
+
+
+    }
+    // endregion
+
+
+    /**
+     * 鍙戦�侀獙璇佺爜
+     *
+     * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+     * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+     * @param phonePrefix   鎵嬫満鍙峰墠缂�
+     * @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;
+        JsonObject json = new JsonObject();
+        if (isPhone) {
+            json.addProperty("phone", account);//鐢ㄦ埛鎵嬫満鍙�
+            json.addProperty("phonePrefix", phonePrefix);//鎵嬫満鍙峰墠缂�
+        } 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);
+                }
+            }
+        });
+
+
+    }
 
     /**
      * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
@@ -184,7 +328,7 @@
     /**
      * 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅
      */
-    private void saveUserData(LoginUserBean obj) {
+    private void saveUserData(HDLLoginBean obj) {
         if (obj != null) {
             UserConfigManage.getInstance().setLogin(true);//鏄惁鐧诲綍
             UserConfigManage.getInstance().setAcceiptPolicy(true);//鏄惁閫夋嫨闅愮鏀跨瓥

--
Gitblit v1.8.0