wjc
2025-03-07 4ff475a1e1c6f0477d4ec947da93d7ad4cf830d6
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -5,6 +5,7 @@
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
@@ -15,10 +16,15 @@
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.AuthorizationAccountBean;
import com.hdl.photovoltaic.ui.bean.BUserInfo;
import com.hdl.photovoltaic.ui.bean.CUserInfo;
import java.io.File;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -107,6 +113,48 @@
        });
    }
    /**
     * 检验账号权限(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 json) {
                if (cloudCallBeak != null) {
                    if (TextUtils.isEmpty(json)) {
                        cloudCallBeak.onSuccess(false);
                    } else {
                        Gson gson = new Gson();
                        Type type = new TypeToken<List<AuthorizationAccountBean>>() {
                        }.getType();
                        List<AuthorizationAccountBean> authorizationAccounts = gson.fromJson(json, type);
                        if (authorizationAccounts != null && !authorizationAccounts.isEmpty()) {
                            cloudCallBeak.onSuccess(true);
                        } else {
                            cloudCallBeak.onSuccess(false);
                        }
                    }
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 修改密码(B端账号)
@@ -222,7 +270,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());
        json.addProperty("userId", UserConfigManage.getInstance().getUserId());
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
@@ -687,15 +735,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);//是否选择隐私政策
@@ -709,7 +790,7 @@
            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();
        }