From 2c7615cd73dfa6a7ca4df975430d2217524513d2 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 28 九月 2023 11:38:28 +0800 Subject: [PATCH] 2023年09月28日11:38:24 --- app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 266 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 212 insertions(+), 54 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 0e69701..bbd321a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java @@ -3,21 +3,22 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; -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.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 { @@ -40,33 +41,26 @@ return sHdlAccountLogic; } + // region --------銆怋绔处鍙枫��--------- /** * 鍒濆鍖栬处鍙风殑Url鍖哄煙鍦板潃 * * @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 != null && 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); - } + 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); } } }); @@ -76,40 +70,77 @@ * 鐧诲綍(B绔处鍙�) * 閫氳繃璐﹀彿鍜屽瘑鐮� * - * @param account 鎵嬫満鎴栬�呴偖绠� - * @param loginPwd 瀵嗙爜 - * @param cloudCallBeak - + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param loginPwd 瀵嗙爜 + * @param callBack - */ - public void loginByPassword(String account, String loginPwd, CloudCallBeak<LoginUserBean> 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 != 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(HDLLoginBean loginBean) { + + if (callBack != null) { + saveUserData(loginBean); + callBack.onSuccess(loginBean); } } @Override - public void onFailure(Exception exception) { - if (cloudCallBeak != null) { - cloudCallBeak.onFailure(exception); + public void onFailure(HDLException error) { + if (callBack != null) { + callBack.onFailure(error); } } }); + } + + /** + * 淇敼瀵嗙爜(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绔处鍙�) @@ -118,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); + } + } + }); + + + } /** * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹� @@ -170,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