From b9cc7390e8e8ce64c41c26fb369c98ce669d660c Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 15:02:30 +0800
Subject: [PATCH] Merge branch '1.2.0'

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java |  248 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 206 insertions(+), 42 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
index 1574548..1024989 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -2,24 +2,43 @@
 
 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.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
+import com.hdl.photovoltaic.config.ConstantManage;
 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;
 
 /**
  * 鎴戠殑-鐣岄潰
@@ -45,6 +64,7 @@
         initEvent();
         //鍒濆鍖栨暟鎹�
         initData();
+
     }
 
     /**
@@ -52,11 +72,13 @@
      */
     private void initData() {
 //        showLoading();
-        if (UserConfigManage.getInstance().isBAccount()) {
-            this.getBUserInfo();
-        } else {
-            this.getCMemberInfo();
-        }
+//        if (UserConfigManage.getInstance().isBAccount()) {
+//            this.getBUserInfo();
+//        } else {
+//            this.getCMemberInfo();
+//        }
+        //鍥犱负uni閭h竟闇�瑕侊紝鍚姩鐨勬椂鍊欏氨璇诲彇鍟�
+        this.getResidenceTemperatureUnit();
     }
 
 
@@ -74,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();
                 //鑾峰彇鐢ㄦ埛澶村儚璺緞
@@ -99,7 +122,7 @@
 //                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                             //鏇存柊鐢ㄦ埛鍚嶇О
                             setMemberName(cUserInfo.getMemberName());
-                            HdlThreadLogic.toast(_mActivity, e);
+//                            HdlThreadLogic.toast(_mActivity, e);
                         }
                     });
                 }
@@ -109,6 +132,8 @@
 
             @Override
             public void onFailure(HDLException e) {
+                //鎬曞叾瀹冧笉鍒ゆ柇null
+                mC_UserInfo = new CUserInfo();
 //                hideLoading();
                 HdlThreadLogic.toast(_mActivity, e);
             }
@@ -123,10 +148,15 @@
         HdlAccountLogic.getInstance().getUserInfo_B(new CloudCallBeak<BUserInfo>() {
             @Override
             public void onSuccess(BUserInfo bUserInfo) {
-                mB_UserInfo = bUserInfo;
-//                hideLoading();
 
+                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
@@ -146,12 +176,41 @@
         viewBinding.fragmentMeIconParentCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                Intent intent = new Intent();
-                intent.setClass(_mActivity, PersonalDataActivity.class);
-                intent.putExtra("memberHeadIcon", mC_UserInfo.getMemberHeadIcon());
-                startActivityForResult(intent, 10);
+
+                if (UserConfigManage.getInstance().isBAccount()) {
+                    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);
+                }
             }
         });
+        //璁惧璋冭瘯
+        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) {
@@ -160,16 +219,11 @@
                 startActivity(intent);
             }
         });
+        //鍏充簬
         viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 startActivity(AsRegardsActivity.class);
-            }
-        });
-        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                startActivity(TestMainActivity.class);
             }
         });
 
@@ -180,36 +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.fragmentMeLineMessageCenterIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.message_center);
-        viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineTitleIv.setText(R.string.set_message_center);
-        viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineV.setVisibility(View.VISIBLE);
-
-        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.user_management);
-        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineTitleIv.setText(R.string.set_user_management);
-        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineV.setVisibility(View.VISIBLE);
-
+        //璁惧璋冭瘯
+        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);
 
-        if (!UserConfigManage.getInstance().isBAccount()) {
-            viewBinding.fragmentMeLineMessageCenterIl.getRoot().setVisibility(View.GONE);
-            viewBinding.fragmentMeLineUserManagementIl.getRoot().setVisibility(View.GONE);
-        }
+
+        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");
@@ -227,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));
+        GlideUtils.getCircleCropImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, true);
+//        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4), true);
 
     }
 
@@ -238,9 +298,113 @@
      * 鏄剧ず鐢ㄦ埛鍚嶇О
      */
     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);
+        }
+
 
     }
+
+    /**
+     * 鏄剧ず璐﹀彿
+     */
+    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) {
+            return;
+        }
+        //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
+        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();
+                }
+//                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) {
+
+            }
+        });
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛鑷畾涔夐厤缃俯搴﹀崟浣嶈鎯�(app鍚姩鐨勬椂鍊欒鑾峰彇)
+     */
+    private void getResidenceTemperatureUnit() {
+        HdlResidenceLogic.getInstance().getResidenceTemperatureUnit(new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String json) {
+                try {
+                    if (TextUtils.isEmpty(json) || json.equals("{}")) {
+                        return;
+                    }
+                    JSONObject jsonObject = new Gson().fromJson(json, JSONObject.class);
+                    if (jsonObject.containsKey("tempType")) {
+                        String unit = jsonObject.getString("tempType");
+                        if (unit.contains("C")) {
+                            unit = "鈩�";
+                        } else {
+                            unit = "鈩�";
+                        }
+                        UserConfigManage.getInstance().setTemperature_unit(unit);
+                        UserConfigManage.getInstance().Save();
+                    }
+                } catch (Exception ignored) {
+                }
+
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                HdlLogLogic.print("鑾峰彇鐢ㄦ埛鑷畾涔夐厤缃俯搴﹀崟浣嶈鎯�---" + e.getMsg() + "(" + e.getCode() + ")", true);
+//                HdlThreadLogic.toast(_mActivity, e);
+            }
+        });
+    }
+
 }

--
Gitblit v1.8.0