From 823f534dff0da0b34f68e32cdfe2651d1bb81db3 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 12 七月 2023 17:16:40 +0800
Subject: [PATCH] 2023年07月12日17:16:39

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java |  137 ++++++++++++++++++++++++++++-----------------
 1 files changed, 84 insertions(+), 53 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 a3e2047..136372c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -3,26 +3,32 @@
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
-import com.hdl.photovoltaic.ui.bean.LoginBean;
-import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
-import com.hdl.photovoltaic.bean.HttpResponsePack;
-import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
+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.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 {
 
     private static volatile HdlAccountLogic sHdlAccountLogic;
 
+    /**
+     * 鑾峰彇褰撳墠瀵硅薄
+     *
+     * @return HdlAccountLogic
+     */
     public static synchronized HdlAccountLogic getInstance() {
         if (sHdlAccountLogic == null) {
             synchronized (HdlAccountLogic.class) {
@@ -41,75 +47,99 @@
      *
      * @param i_account 璐﹀彿
      */
-    public void regionByAccount(String i_account, CloudCallBeak<LoginUserRegionBean> cloudCallBeak) {
-        JsonObject jsonObject = new JsonObject();
-        jsonObject.addProperty("account", i_account);
-        String full = AppConfigManage.getAPPRegionUrl() + HttpApi.POST_RegionByUserAccount;
-        HttpClient.getInstance().requestFullHttp(full, jsonObject.toString(), true, true, new BaseSuccessFailureCallBeak() {
+    public void regionByAccount(String i_account, CloudCallBeak<HDLUserRegionBean> cloudCallBeak) {
+        HDLLinkPMUser.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() {
             @Override
-            public void onSuccess(HttpResponsePack httpResponsePack) {
-                if (httpResponsePack.getData() != null) {
-                    Gson gson = new Gson();
-                    String json = gson.toJson(httpResponsePack.getData());
-                    LoginUserRegionBean loginUserRegionBean = new Gson().fromJson(json, LoginUserRegionBean.class);
-                    if (cloudCallBeak != null) {
-                        cloudCallBeak.onSuccess(loginUserRegionBean);
-                    } else {
-                        cloudCallBeak.onFailure(new Exception());
-                    }
+            public void onSuccess(HDLUserRegionBean regionBean) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onSuccess(regionBean);
                 }
             }
 
             @Override
-            public void onFailure(Exception exception) {
+            public void onFailure(HDLException error) {
                 if (cloudCallBeak != null) {
-                    cloudCallBeak.onFailure(exception);
+                    cloudCallBeak.onFailure(error);
                 }
             }
         });
     }
 
     /**
-     * 鐧诲綍
+     * 鐧诲綍(B绔处鍙�)
      * 閫氳繃璐﹀彿鍜屽瘑鐮�
      *
-     * @param account       鎵嬫満鎴栬�呴偖绠�
-     * @param loginPwd      瀵嗙爜
-     * @param cloudCallBeak -
+     * @param account  鎵嬫満鎴栬�呴偖绠�
+     * @param loginPwd 瀵嗙爜
+     * @param callBack -
      */
-    public void loginByPassword(String account, String loginPwd, CloudCallBeak<LoginBean> cloudCallBeak) {
+    public void loginByPassword(String account, String loginPwd, ILoginCallBack callBack) {
         String requestUrl = HttpApi.POST_Login;
         JsonObject json = new JsonObject();
         json.addProperty("account", account);
         json.addProperty("loginPwd", loginPwd);
 //        json.addProperty("platform", "APP");
         json.addProperty("grantType", "password");
-
-        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+        HDLLinkPMUser.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() {
             @Override
-            public void onSuccess(HttpResponsePack httpResponsePack) {
-                if (httpResponsePack.getData() != null) {
-                    Gson gson = new Gson();
-                    String json = gson.toJson(httpResponsePack.getData());
-                    LoginBean loginBean = new Gson().fromJson(json, LoginBean.class);
+            public void onSuccess(HDLLoginBean loginBean) {
+
+                if (callBack != null) {
                     saveUserData(loginBean);
-                    if (cloudCallBeak != null) {
-                        cloudCallBeak.onSuccess(loginBean);
-                    } else {
-                        cloudCallBeak.onFailure(new Exception());
-                    }
+                    callBack.onSuccess(loginBean);
                 }
             }
 
             @Override
-            public void onFailure(Exception exception) {
+            public void onFailure(HDLException error) {
+                if (callBack != null) {
+                    callBack.onFailure(error);
+                }
+            }
+        });
+
+    }
+
+    /**
+     * 鍒锋柊Token(B绔处鍙�)
+     *
+     * @param account       鎵嬫満鎴栬�呴偖绠�
+     * @param loginPwd      瀵嗙爜
+     * @param 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(), new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String jsonStr) {
+                Gson gson = new Gson();
+                HDLLoginBean loginBean = gson.fromJson(jsonStr, HDLLoginBean.class);
+//                    saveUserData(loginBean);
                 if (cloudCallBeak != null) {
-                    cloudCallBeak.onFailure(exception);
+                    cloudCallBeak.onSuccess(loginBean);
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onFailure(e);
                 }
             }
         });
     }
 
+
+    /**
+     * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
+     */
+    public void SignOutClearData() {
+        String requestUrl = HttpApi.POST_GET_IMAGE_LOGOUT;
+        //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄�
+    }
 
     public boolean isPhone(String phone) {
         Pattern p = Pattern.compile("^((13[0-9])|(14[0|5|6|7|9])|(15[0-3])|(15[5-9])|(16[6|7])|(17[2|3|5|6|7|8])|(18[0-9])|(19[1|8|9]))\\d{8}$");
@@ -123,22 +153,23 @@
     }
 
     /**
-     * 鐧诲綍鎴愬姛淇濆瓨
+     * 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅
      */
-    private void saveUserData(LoginBean obj) {
+    private void saveUserData(HDLLoginBean obj) {
         if (obj != null) {
-            UserConfigManage.getInstance().setLogin(true);
-            UserConfigManage.getInstance().setAcceiptPolicy(true);
-            UserConfigManage.getInstance().setLoginDateTime(System.currentTimeMillis());
-            UserConfigManage.getInstance().setUserId(obj.getUserId());
-            UserConfigManage.getInstance().setAccount(obj.getAccount());
-            UserConfigManage.getInstance().setToken(obj.getAccessToken());
-            UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());
-            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());
+            UserConfigManage.getInstance().setLogin(true);//鏄惁鐧诲綍
+            UserConfigManage.getInstance().setAcceiptPolicy(true);//鏄惁閫夋嫨闅愮鏀跨瓥
+            UserConfigManage.getInstance().setLoginDateTime(System.currentTimeMillis());//鐧诲綍鏃堕棿
+            UserConfigManage.getInstance().setUserId(obj.getUserId());//鐢ㄦ埛id
+            UserConfigManage.getInstance().setAccount(obj.getAccount());//璐﹀彿
+            UserConfigManage.getInstance().setToken(obj.getAccessToken());//Token
+            UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());//璁よ瘉璇锋眰澶村墠缂�(搴曞眰璇锋眰缁熶竴鍔�)
+            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token鐢ㄧ殑鍒锋柊Token鐢ㄧ殑
             boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId());
-            UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);
+            UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓�
         }
 
     }
 
+
 }

--
Gitblit v1.8.0