wjc
2025-03-04 8dd82742af60bdc2d3c78db5d48fc0dbcb9ebf0c
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -19,6 +19,8 @@
import com.hdl.photovoltaic.ui.bean.CUserInfo;
import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -54,7 +56,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) {
@@ -91,6 +94,7 @@
            public void onSuccess(HDLLoginBean loginBean) {
                if (callBack != null) {
                    loginBean.setAccount(account);
                    saveUserData(loginBean);
                    callBack.onSuccess(loginBean);
                }
@@ -105,6 +109,37 @@
        });
    }
    /**
     * 修改密码(B端账号)
     *
     * @param cloudCallBeak -
     */
    public void getCompanyParterMenu_B(CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.B_POST_getCompanyParterMenu;
        JsonObject json = new JsonObject();
        json.addProperty("sysCode", "xenterra-app");
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String str) {
                if (cloudCallBeak != null) {
//                    boolean isBoolean =!TextUtils.isEmpty(str);
//                    cloudCallBeak.onSuccess(isBoolean);
                    cloudCallBeak.onSuccess(true);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 修改密码(B端账号)
@@ -220,6 +255,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) {
@@ -316,6 +352,41 @@
                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 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);
                }
            }
@@ -520,8 +591,8 @@
    /**
     * 绑定认证(手机/邮箱)(C端账号)
     *
     * @param memberPhone 手机号(绑定手机号memberEmail参数传空)
     * @param memberEmail 邮箱(绑定邮箱memberPhone参数传空)
     * @param memberPhone 手机号(未绑定手机号参数传null)
     * @param memberEmail 邮箱(未绑定邮箱参数传null)
     * @param verifyCode  验证码
     */
    public void bindingAccount_C(String memberPhone, String memberEmail, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
@@ -530,7 +601,7 @@
        if (!TextUtils.isEmpty(memberPhone)) {
            json.addProperty("memberPhone", memberPhone);//手机号
        }
        if (!TextUtils.isEmpty(memberPhone)) {
        if (!TextUtils.isEmpty(memberEmail)) {
            json.addProperty("memberEmail", memberEmail);//邮箱
        }
        json.addProperty("verifyCode", verifyCode);//验证码
@@ -649,15 +720,48 @@
    }
    /**
     * 注销账号(C端账号)
     *
     * @param pwd           账号密码
     * @param cloudCallBeak -
     */
    public void accountUnregisterC(String pwd, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.C_POST_MEMBER_UNREGISTER;
        JsonObject json = new JsonObject();
        json.addProperty("userId", UserConfigManage.getInstance().getUserId());
        json.addProperty("pwd", pwd);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 登录成功保存登录信息
     */
    private void saveUserData(HDLLoginBean obj) {
        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);//是否选择隐私政策
@@ -665,9 +769,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();
        }