From cdf49871675e42a5576f725a93eec7ca15294c6f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 15 四月 2025 17:22:34 +0800
Subject: [PATCH] Merge branch '1.5.2'

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java |  160 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 123 insertions(+), 37 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 2e624aa..5941855 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
@@ -9,7 +9,6 @@
 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 +17,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 +93,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 +145,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 +173,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 +216,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 +231,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 +280,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);
 
     }
 
@@ -254,13 +295,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,14 +330,16 @@
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         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();
+
             }
 
         }
@@ -284,6 +347,29 @@
     }
 
     /**
+     * 鍛樺伐鏉冮檺绫诲瀷(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() {

--
Gitblit v1.8.0