From b75795836a851a13e54cc4efb597262fb448217c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 08 五月 2024 15:22:01 +0800 Subject: [PATCH] 2024年05月08日15:21:54 --- app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 364 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 348 insertions(+), 16 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 bbd321a..9f08ae4 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java @@ -1,6 +1,8 @@ package com.hdl.photovoltaic.other; +import android.text.TextUtils; + import com.google.gson.Gson; import com.google.gson.JsonObject; import com.hdl.linkpm.sdk.core.exception.HDLException; @@ -13,7 +15,10 @@ 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.BUserInfo; +import com.hdl.photovoltaic.ui.bean.CUserInfo; +import java.io.File; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -49,7 +54,8 @@ * @param i_account 璐﹀彿 */ public void regionByAccount(String i_account, CloudCallBeak<HDLUserRegionBean> cloudCallBeak) { - HDLLinkPMUser.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() { + boolean isBooleanB = UserConfigManage.getInstance().isBAccount(); + HDLLinkPMUser.getInstance().regionByAccount(isBooleanB, i_account, new IRegionByAccountCallBack() { @Override public void onSuccess(HDLUserRegionBean regionBean) { if (cloudCallBeak != null) { @@ -67,7 +73,7 @@ } /** - * 鐧诲綍(B绔处鍙�) + * 鐧诲綍(B,C绔处鍙�) * 閫氳繃璐﹀彿鍜屽瘑鐮� * * @param account 鎵嬫満鎴栬�呴偖绠� @@ -75,17 +81,18 @@ * @param callBack - */ public void loginByPassword(String account, String loginPwd, ILoginCallBack callBack) { - String requestUrl = HttpApi.POST_Login; + boolean isBooleanB = UserConfigManage.getInstance().isBAccount(); JsonObject json = new JsonObject(); json.addProperty("account", account); json.addProperty("loginPwd", loginPwd); // json.addProperty("platform", "APP"); json.addProperty("grantType", "password"); - HDLLinkPMUser.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() { + HDLLinkPMUser.getInstance().loginByPassword(isBooleanB, account, loginPwd, new ILoginCallBack() { @Override public void onSuccess(HDLLoginBean loginBean) { if (callBack != null) { + loginBean.setAccount(account); saveUserData(loginBean); callBack.onSuccess(loginBean); } @@ -110,7 +117,7 @@ * @param verifyCode 楠岃瘉鐮� * @param cloudCallBeak - */ - public void changeBPassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void changePassword_B(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) { @@ -141,16 +148,48 @@ } + /** + * 鏇存敼涓汉瀵嗙爜(B绔处鍙�) + * + * @param loginOldPwd 鑰佸瘑鐮� + * @param loginPwd 鏂板瘑鐮� + */ + public void updatePassword_B(String loginOldPwd, String loginPwd, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.B_POST_UPDATE_PROGRAM_PASSWORD; + JsonObject json = new JsonObject(); + json.addProperty("userId", UserConfigManage.getInstance().getUserId()); + json.addProperty("loginOldPwd", loginOldPwd);// 鑰佸瘑鐮� + json.addProperty("loginPwd", loginPwd);//鏂板瘑鐮� + json.addProperty("confirmLoginPwd", loginPwd);//鏂板瘑鐮佺‘璁ゅ瘑鐮� + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String str) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(str); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + /** - * 鍒锋柊Token(B绔处鍙�) + * 鍒锋柊Token(C绔处鍙�) * * @param account 鎵嬫満鎴栬�呴偖绠� * @param loginPwd 瀵嗙爜 * @param cloudCallBeak - */ - public void refreshToken(String account, String loginPwd, CloudCallBeak<HDLLoginBean> cloudCallBeak) { - String requestUrl = HttpApi.POST_Login; + public void refreshToken_B(String account, String loginPwd, CloudCallBeak<HDLLoginBean> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_Login; JsonObject json = new JsonObject(); json.addProperty("grantType", "refresh_token"); // json.addProperty("refreshToken", UserConfigManage.getInstance().getRefreshToken()); @@ -175,13 +214,200 @@ } + /** + * 鑾峰彇鐢ㄦ埛璇︽儏淇℃伅(B绔处鍙�) + * + * @param cloudCallBeak - + */ + public void getUserInfo_B(CloudCallBeak<BUserInfo> cloudCallBeak) { + String requestUrl = HttpApi.B_POST_GET_USERINFO; + JsonObject json = new JsonObject(); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + Gson gson = new Gson(); + BUserInfo bUserInfo = gson.fromJson(jsonStr, BUserInfo.class); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(bUserInfo); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + // endregion // region --------銆怌绔处鍙枫��--------- + + /** + * 涓婁紶鐢ㄦ埛澶村儚 + * + * @param file 鍥剧墖鏂囦欢 + * @param cloudCallBeak - + */ + public void uploadUserHeadImage_C(File file, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_IMAGE_URL; + HttpClient.getInstance().uploadingFile(requestUrl, file, new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(jsonStr); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + } + + /** + * 鑾峰彇鐢ㄦ埛澶村儚璺緞(C绔处鍙�) + * + * @param imageKey 鐢ㄦ埛澶村儚imageKey + * @param cloudCallBeak - + */ + public void getImageKey_C(String imageKey, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_IMAGE_URL; + JsonObject json = new JsonObject(); + json.addProperty("imageKey", imageKey); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(jsonStr); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + /** + * 鑾峰彇涓汉淇℃伅(C绔处鍙�) + * + * @param cloudCallBeak - + */ + public void getMemberInfo_C(CloudCallBeak<CUserInfo> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_MEMBER_INFO; + JsonObject json = new JsonObject(); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + Gson gson = new Gson(); + CUserInfo cUserInfo = gson.fromJson(jsonStr, CUserInfo.class); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(cUserInfo); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + + /** + * 淇敼鐢ㄦ埛鍚嶇О + * + * @param memberName 鐢ㄦ埛鍚嶇О + * @param cloudCallBeak - + */ + public void updateMemberName_C(String memberName, CloudCallBeak<Boolean> cloudCallBeak) { + updateMemberInfo_C("", memberName, "", "", "", "", cloudCallBeak); + } + + /** + * 淇敼鐢ㄦ埛澶村儚 + * + * @param memberHeadIcon 澶村儚鍦板潃 + * @param cloudCallBeak - + */ + public void updateMemberHeadIcon_C(String memberHeadIcon, CloudCallBeak<Boolean> cloudCallBeak) { + updateMemberInfo_C("", "", "", memberHeadIcon, "", "", cloudCallBeak); + } + + /** + * 鏇存柊涓汉淇℃伅(C绔处鍙�) + * + * @param languageType 璇█绫诲瀷 + * @param memberName 鐢ㄦ埛鏄电О + * @param memberBirthday 鐢ㄦ埛鐢熸棩 + * @param memberHeadIcon 鐢ㄦ埛澶村儚 + * @param loginName 鐧婚檰璐﹀彿 + * @param memberSex 鐢ㄦ埛鎬у埆 + * @param cloudCallBeak - + */ + public void updateMemberInfo_C(String languageType, String memberName, String memberBirthday, String memberHeadIcon, String loginName, String memberSex, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_UPDATE_MEMBER_INFO; + JsonObject json = new JsonObject(); + if (!TextUtils.isEmpty(languageType)) { + json.addProperty("languageType", languageType);//璇█绫诲瀷 + } + if (!TextUtils.isEmpty(memberName)) { + json.addProperty("memberName", memberName);//鐢ㄦ埛鏄电О + } + if (!TextUtils.isEmpty(memberBirthday)) { + json.addProperty("memberBirthday", memberBirthday);//鐢ㄦ埛鐢熸棩 + } + if (!TextUtils.isEmpty(memberHeadIcon)) { + json.addProperty("memberHeadIcon", memberHeadIcon);//鐢ㄦ埛澶村儚 + } + if (!TextUtils.isEmpty(loginName)) { + json.addProperty("loginName", loginName);//鐧婚檰璐﹀彿 + } + if (!TextUtils.isEmpty(memberSex)) { + json.addProperty("memberSex", memberSex);//鐢ㄦ埛鎬у埆 + } + 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绔处鍙�) - * 娉ㄦ剰:B + * 娉ㄦ剰:B绔笉鏀寔娉ㄥ唽璐﹀彿 * * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠� * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) @@ -189,7 +415,7 @@ * @param verifyCode 楠岃瘉鐮� * @param cloudCallBeak - */ - public void registerAccount(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void registerAccount_C(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) { @@ -231,7 +457,7 @@ * @param verifyCode 楠岃瘉鐮� * @param cloudCallBeak - */ - public void changeCPassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + public void changePassword_C(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) { @@ -261,11 +487,109 @@ } + + + /** + * 鏇存敼涓汉瀵嗙爜(C绔处鍙�) + * + * @param loginOldPwd 鑰佸瘑鐮� + * @param loginPwd 鏂板瘑鐮� + */ + public void updatePassword_C(String loginOldPwd, String loginPwd, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_UPDATE_PROGRAM_PASSWORD; + JsonObject json = new JsonObject(); + json.addProperty("loginPwd", loginOldPwd);//鑰佸瘑鐮� + json.addProperty("loginNewPwd", loginPwd);//鏂板瘑鐮� + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String str) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(str); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + /** + * 缁戝畾璁よ瘉(鎵嬫満/閭)(C绔处鍙�) + * + * @param memberPhone 鎵嬫満鍙凤紙鏈粦瀹氭墜鏈哄彿鍙傛暟浼爊ull锛� + * @param memberEmail 閭锛堟湭缁戝畾閭鍙傛暟浼爊ull锛� + * @param verifyCode 楠岃瘉鐮� + */ + public void bindingAccount_C(String memberPhone, String memberEmail, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_MEMBERINFO_BINDWITHACCOUNT; + JsonObject json = new JsonObject(); + if (!TextUtils.isEmpty(memberPhone)) { + json.addProperty("memberPhone", memberPhone);//鎵嬫満鍙� + } + if (!TextUtils.isEmpty(memberEmail)) { + json.addProperty("memberEmail", memberEmail);//閭 + } + json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮� + 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); + } + } + }); + + + } + + + /** + * 瑙g粦璁よ瘉(鎵嬫満/閭)(C绔处鍙�) + * + * @param unBindLabel 瑙g粦鏍囪瘑锛圥HONE EMAIL锛� + */ + public void unBindingAccount_C(String unBindLabel, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_MEMBERINFO_UNBINDWITHACCOUNT; + JsonObject json = new JsonObject(); + json.addProperty("unBindLabel", unBindLabel);//鎵嬫満鍙凤紙PHONE EMAIL锛� + 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 /** - * 鍙戦�侀獙璇佺爜 + * 鍙戦�侀獙璇佺爜(B鍜孋绔叡鐢�) * * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠� * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) @@ -309,9 +633,10 @@ /** * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹� */ - public void SignOutClearData() { + public void signOutClearData() { String requestUrl = HttpApi.POST_GET_IMAGE_LOGOUT; //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄� + HttpClient.getInstance().requestHttp(requestUrl, new JsonObject().toString(), null); } public boolean isPhone(String phone) { @@ -330,16 +655,23 @@ */ private void saveUserData(HDLLoginBean obj) { if (obj != null) { + boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId()); + UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓� + if (!UserConfigManage.getInstance().isTheSameLoginAccount()) { + //涓嶅悓璐﹀彿,鍒犻櫎涔嬪墠鐨勬棫璐﹀彿鏃ュ織淇℃伅; + HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentUserRootPath()); + } UserConfigManage.getInstance().setLogin(true);//鏄惁鐧诲綍 UserConfigManage.getInstance().setAcceiptPolicy(true);//鏄惁閫夋嫨闅愮鏀跨瓥 UserConfigManage.getInstance().setLoginDateTime(System.currentTimeMillis());//鐧诲綍鏃堕棿 UserConfigManage.getInstance().setUserId(obj.getUserId());//鐢ㄦ埛id - UserConfigManage.getInstance().setAccount(obj.getAccount());//璐﹀彿 + //b绔拰c绔畾涔夎处鍙峰瓧娈典笉涓�鏍� + UserConfigManage.getInstance().setAccount(TextUtils.isEmpty(obj.getAccount()) ? obj.getUserPhone() : obj.getAccount());//璐﹀彿 + UserConfigManage.getInstance().setUserName(obj.getName()); 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().Save(); } } -- Gitblit v1.8.0