mac
2023-10-25 28880ba7540c523d3e50d35416422396ef802c50
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -1,19 +1,27 @@
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.callback.IResponseCallBack;
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.bean.ImageSubmitInfo;
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.config.UserConfigManage;
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;
@@ -207,13 +215,185 @@
    }
    /**
     * 获取用户详情信息(B端账号)
     *
     * @param cloudCallBeak -
     */
    public void getUserInfo(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 --------【C端账号】---------
    /**
     * 上传用户头像
     *
     * @param file          图片文件
     * @param cloudCallBeak -
     */
    public void uploadUserHeadImage(File file, CloudCallBeak<String> cloudCallBeak) {
        String requestUrl = HttpApi.C_POST_GET_IMAGE_URL;
        HttpClient.getInstance().requestHttpFile(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(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(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);
                }
            }
        });
    }
    /**
     * 更新个人信息(C端账号)
     *
     * @param languageType   语言类型
     * @param memberName     用户昵称
     * @param memberBirthday 用户生日
     * @param memberHeadIcon 用户头像
     * @param loginName      登陆账号
     * @param memberSex      用户性别
     * @param cloudCallBeak  -
     */
    public void updateMemberInfo(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       账号 (手机或者邮箱)
@@ -326,9 +506,6 @@
    }
    // endregion
@@ -408,6 +585,7 @@
            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//刷新Token用的刷新Token用的
            boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId());
            UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//与上一个账号是否同一个
            UserConfigManage.getInstance().Save();
        }
    }