wjc
2025-04-25 a17869744eeea710c9ee15eadb3837cd4ed0bcd7
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -3,13 +3,15 @@
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSONObject;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
@@ -18,18 +20,25 @@
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.FragmentMeBinding;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.UserRightType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMemberLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.BUserInfo;
import com.hdl.photovoltaic.ui.bean.CUserInfo;
import com.hdl.photovoltaic.ui.bean.UserRightTypeBean;
import com.hdl.photovoltaic.ui.test.TestMainActivity;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.GlideUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
/**
 * 我的-界面
@@ -87,6 +96,7 @@
                mC_UserInfo = cUserInfo;
                UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone());
                UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail());
                UserConfigManage.getInstance().setUserName(cUserInfo.getMemberName());
                UserConfigManage.getInstance().Save();
//                hideLoading();
                //获取用户头像路径
@@ -138,9 +148,15 @@
        HdlAccountLogic.getInstance().getUserInfo_B(new CloudCallBeak<BUserInfo>() {
            @Override
            public void onSuccess(BUserInfo bUserInfo) {
                mB_UserInfo = bUserInfo;
                UserConfigManage.getInstance().setBingPhone(bUserInfo.getUserPhone());
                UserConfigManage.getInstance().setBingEmail(bUserInfo.getUserEmail());
                UserConfigManage.getInstance().setUserName(bUserInfo.getUserName());
                UserConfigManage.getInstance().Save();
//                hideLoading();
                setMemberName(bUserInfo.getUserName());
                setMemberAccount(TextUtils.isEmpty(bUserInfo.getUserPhone()) ? bUserInfo.getUserEmail() : bUserInfo.getUserPhone());
            }
            @Override
@@ -160,20 +176,41 @@
        viewBinding.fragmentMeIconParentCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (UserConfigManage.getInstance().isBAccount()) {
                    //todo B端不支持更改昵称
                    HdlThreadLogic.toast(_mActivity, R.string.loading_not_supported);
                    return;
                    Intent intent = new Intent();
                    intent.setClass(_mActivity, BPersonalDataActivity.class);
                    startActivity(intent);
                } else {
                    Intent intent = new Intent();
                    intent.setClass(_mActivity, CPersonalDataActivity.class);
                    if (mC_UserInfo == null) {
                        mC_UserInfo = new CUserInfo();
                    }
                    intent.putExtra("memberHeadIcon", mC_UserInfo.getMemberHeadIcon());
                    startActivityForResult(intent, 10);
                }
                Intent intent = new Intent();
                intent.setClass(_mActivity, PersonalDataActivity.class);
                if (mC_UserInfo == null) {
                    mC_UserInfo = new CUserInfo();
                }
                intent.putExtra("memberHeadIcon", mC_UserInfo.getMemberHeadIcon());
                startActivityForResult(intent, 10);
            }
        });
        //设备调试
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(2);
                //设备调试
                String path = HDLUniMP.UNI_EVENT_OPEN_MINE_DEVICEDEBUG;
                HdlUniLogic.getInstance().openUniMP(path, null);
            }
        });
//        //员工管理(主账号才显示)
//        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                String path = HDLUniMP.UNI_EVENT_OPEN_MINE_MINESTAFFMANAGER;
//                HdlUniLogic.getInstance().openUniMP(path, null);
//            }
//        });
        //设置
        viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
@@ -182,21 +219,11 @@
                startActivity(intent);
            }
        });
        //关于
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(AsRegardsActivity.class);
            }
        });
        final int[] count = {0};
        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                count[0] = count[0] + 1;
                if (count[0] > 3) {
                    count[0] = 0;
                    startActivity(TestMainActivity.class);
                }
            }
        });
@@ -207,25 +234,38 @@
     * 初始化界面
     */
    private void initView() {
        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me);
//        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE);
//        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message);
        //设备调试
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.device_debug);
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineTitleIv.setText(R.string.device_debugging);
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineV.setVisibility(View.VISIBLE);
//        //员工管理
//        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.user_management);
//        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineTitleIv.setText(R.string.staff_management);
//        viewBinding.fragmentMeLineUserManagementIl.getRoot().setVisibility(View.GONE);//先隐藏,读取到有限权在显示
//        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineV.setVisibility(View.VISIBLE);
        //设备
        viewBinding.fragmentMeLineSetIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.set);
        viewBinding.fragmentMeLineSetIl.fragmentMeLineTitleIv.setText(R.string.me_set);
        viewBinding.fragmentMeLineSetIl.fragmentMeLineV.setVisibility(View.VISIBLE);
        //关于
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.asregards);
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineTitleIv.setText(R.string.me_regard);
//        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineV.setVisibility(View.VISIBLE);
        setMemberName(UserConfigManage.getInstance().getUserName());
        setMemberAccount(UserConfigManage.getInstance().getAccount());
//        setMemberHeadIcon(UserConfigManage.getInstance().getUserImageUrl());
    }
    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (UserConfigManage.getInstance().isBAccount()) {
            //B端不需要更新
            return;
        }
        if (requestCode == 10 && resultCode == 10) {
            if (data != null) {
                String iconUrl = data.getStringExtra("memberHeadIcon");
@@ -243,10 +283,14 @@
     * 显示用户头像
     */
    private void setMemberHeadIcon(String memberHeadIconUrl) {
        if (TextUtils.isEmpty(memberHeadIconUrl)) {
            return;
        }
        if (mC_UserInfo != null) {
            mC_UserInfo.setMemberHeadIcon(memberHeadIconUrl);
        }
        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4),true);
        GlideUtils.getCircleCropImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, true);
//        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4), true);
    }
@@ -254,13 +298,33 @@
     * 显示用户名称
     */
    private void setMemberName(String userName) {
        viewBinding.fragmentMeUserNameIv.setText(userName);
        UserConfigManage.getInstance().setUserName(userName);
        UserConfigManage.getInstance().Save();
        if (TextUtils.isEmpty(userName)) {
            viewBinding.userNameLl.setVisibility(View.GONE);
        } else {
            viewBinding.userNameLl.setVisibility(View.VISIBLE);
            viewBinding.fragmentMeUserNameTv.setText(userName);
        }
    }
    @Override
    /**
     * 显示账号
     */
    private void setMemberAccount(String userAccount) {
        if (viewBinding.userNameLl.getVisibility() == View.VISIBLE) {
            viewBinding.fragmentMeUserRoleNextIv.setVisibility(View.GONE);
        } else {
            viewBinding.fragmentMeUserRoleNextIv.setVisibility(View.VISIBLE);
        }
        if (TextUtils.isEmpty(userAccount)) {
            userAccount = "--";
        }
        viewBinding.fragmentMeUserRoleTv.setText(userAccount);
    }
    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
    public void onEventMessage(BaseEventBus eventBus) {
        super.onEventMessage(eventBus);
        if (eventBus == null) {
@@ -269,18 +333,43 @@
        //接收外部点击事件
        if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
            if (eventBus.getType().equals(HomepageTitleTabSwitch.me.toString())) {
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
                //读取头像
                if (UserConfigManage.getInstance().isBAccount()) {
                    this.getBUserInfo();
                } else {
                    this.getCMemberInfo();
                }
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
//                getUserRightType();
            }
        }
    }
    /**
     * 员工权限类型(B端)
     * MANAGER : 公司管理员
     * USER : 普通员工
     */
    private void getUserRightType() {
        HdlMemberLogic.getInstance().getUserRightType(new CloudCallBeak<UserRightTypeBean>() {
            @Override
            public void onSuccess(UserRightTypeBean obj) {
//                if (obj.getUserRightType().equals(UserRightType.MANAGER)) {
//                    viewBinding.fragmentMeLineUserManagementIl.getRoot().setVisibility(View.VISIBLE);
//                } else {
//                    viewBinding.fragmentMeLineUserManagementIl.getRoot().setVisibility(View.GONE);
//                }
            }
            @Override
            public void onFailure(HDLException e) {
            }
        });
    }
    /**
@@ -312,9 +401,10 @@
            @Override
            public void onFailure(HDLException e) {
                HdlLogLogic.print("获取用户自定义配置温度单位详情--->" + e.getMsg() + "(" + e.getCode() + ")", true);
                HdlLogLogic.print("获取用户自定义配置温度单位详情---" + e.getMsg() + "(" + e.getCode() + ")", true);
//                HdlThreadLogic.toast(_mActivity, e);
            }
        });
    }
}