wjc
2025-01-13 3c18f8e5f2d54c6cb2e4d2e0e5fc538a6a2ea188
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -5,15 +5,12 @@
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;
@@ -57,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) {
@@ -94,6 +92,7 @@
            public void onSuccess(HDLLoginBean loginBean) {
                if (callBack != null) {
                    loginBean.setAccount(account);
                    saveUserData(loginBean);
                    callBack.onSuccess(loginBean);
                }
@@ -223,6 +222,7 @@
    public void getUserInfo_B(CloudCallBeak<BUserInfo> cloudCallBeak) {
        String requestUrl = HttpApi.B_POST_GET_USERINFO;
        JsonObject json = new JsonObject();
        json.addProperty("userId", UserConfigManage.getInstance().getUserId());
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
@@ -258,7 +258,7 @@
     */
    public void uploadUserHeadImage_C(File file, CloudCallBeak<String> cloudCallBeak) {
        String requestUrl = HttpApi.C_POST_GET_IMAGE_URL;
        HttpClient.getInstance().requestHttpFile(requestUrl, file, new CloudCallBeak<String>() {
        HttpClient.getInstance().uploadingFile(requestUrl, file, new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
@@ -334,6 +334,62 @@
    }
    /**
     * 下载子账号头像(C端账号)
     *
     * @param childAccountId 子账号id
     * @param childId        子账号(成员)id查找子账号接口获取到的数据id
     * @param homeId         住宅id
     * @param cloudCallBeak  -
     */
    public void getHeadPortrait_C(String childAccountId, String childId, String homeId, CloudCallBeak<String> cloudCallBeak) {
        String requestUrl = HttpApi.C_POST_GET_IMAGE_URL;
        JsonObject json = new JsonObject();
        json.addProperty("childAccountId", childAccountId);
        if (TextUtils.isEmpty(childId)) {
            json.addProperty("childId", childId);
        }
        json.addProperty("homeId", homeId);
        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);
                }
            }
        });
    }
    /**
     * 修改用户名称
     *
     * @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   语言类型
@@ -344,13 +400,7 @@
     * @param memberSex      用户性别
     * @param cloudCallBeak  -
     */
    public void updateMemberInfo_C(String languageType,
                                   String memberName,
                                   String memberBirthday,
                                   String memberHeadIcon,
                                   String loginName,
                                   String memberSex,
                                   CloudCallBeak<Boolean> 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)) {
@@ -505,6 +555,71 @@
    }
    /**
     * 绑定认证(手机/邮箱)(C端账号)
     *
     * @param memberPhone 手机号(未绑定手机号参数传null)
     * @param memberEmail 邮箱(未绑定邮箱参数传null)
     * @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);
                }
            }
        });
    }
    /**
     * 解绑认证(手机/邮箱)(C端账号)
     *
     * @param unBindLabel 解绑标识(PHONE   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
@@ -554,9 +669,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) {
@@ -577,9 +693,12 @@
        if (obj != null) {
            boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId());
            UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//与上一个账号是否同一个
            if (!UserConfigManage.getInstance().isTheSameLoginAccount()) {
            //UserConfigManage.getInstance().getUserId()表示第一次安装登录
            if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserId()) && !UserConfigManage.getInstance().isTheSameLoginAccount()) {
                //不同账号,删除之前的旧账号日志信息;
                HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentUserRootPath());
                HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getUserFilePath());
                UserConfigManage.getInstance().setHomeId("");
            }
            UserConfigManage.getInstance().setLogin(true);//是否登录
            UserConfigManage.getInstance().setAcceiptPolicy(true);//是否选择隐私政策
@@ -587,9 +706,13 @@
            UserConfigManage.getInstance().setUserId(obj.getUserId());//用户id
            //b端和c端定义账号字段不一样
            UserConfigManage.getInstance().setAccount(TextUtils.isEmpty(obj.getAccount()) ? obj.getUserPhone() : obj.getAccount());//账号
            UserConfigManage.getInstance().setBingPhone(obj.getUserPhone());//绑定手机
            UserConfigManage.getInstance().setBingEmail(obj.getUserEmail());//绑定邮箱
            UserConfigManage.getInstance().setUserName(obj.getName());
            UserConfigManage.getInstance().setToken(obj.getAccessToken());//Token
            UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());//认证请求头前缀(底层请求统一加)
            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//刷新Token用的刷新Token用的
            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//刷新Token用的
            UserConfigManage.getInstance().Save();
        }