From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 14:54:42 +0800
Subject: [PATCH] 2025年05月07日14:54:39

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java |  326 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 274 insertions(+), 52 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 ffc5902..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,28 +2,52 @@
 
 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 com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+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;
 
 /**
  * 鎴戠殑-鐣岄潰
  */
 public class MeFragment extends CustomBaseFragment {
     private FragmentMeBinding viewBinding;
+
+    private CUserInfo mC_UserInfo;
+    private BUserInfo mB_UserInfo;
 
 
     @Override
@@ -40,6 +64,7 @@
         initEvent();
         //鍒濆鍖栨暟鎹�
         initData();
+
     }
 
     /**
@@ -47,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();
     }
 
 
@@ -60,25 +87,42 @@
      */
     private void getCMemberInfo() {
 
-        HdlAccountLogic.getInstance().getMemberInfo(new CloudCallBeak<CUserInfo>() {
+        HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak<CUserInfo>() {
             @Override
             public void onSuccess(CUserInfo cUserInfo) {
+                if (cUserInfo == null) {
+                    return;
+                }
+                mC_UserInfo = cUserInfo;
+                UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone());
+                UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail());
+                UserConfigManage.getInstance().setUserName(cUserInfo.getMemberName());
+                UserConfigManage.getInstance().Save();
 //                hideLoading();
                 //鑾峰彇鐢ㄦ埛澶村儚璺緞
                 if (cUserInfo.getMemberHeadIcon().contains("http")) {
-                    updateView(null, cUserInfo);
+                    //鏇存柊鐢ㄦ埛澶村儚
+                    setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
+                    //鏇存柊鐢ㄦ埛鍚嶇О
+                    setMemberName(cUserInfo.getMemberName());
                 } else {
-                    HdlAccountLogic.getInstance().getImageKey(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() {
+                    HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() {
                         @Override
                         public void onSuccess(String url) {
                             cUserInfo.setMemberHeadIcon(url);
-                            updateView(null, cUserInfo);
+                            //鏇存柊鐢ㄦ埛澶村儚
+                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
+                            //鏇存柊鐢ㄦ埛鍚嶇О
+                            setMemberName(cUserInfo.getMemberName());
                         }
 
                         @Override
                         public void onFailure(HDLException e) {
-                            updateView(null, cUserInfo);
-                            HdlThreadLogic.toast(_mActivity, e);
+//                            //鏇存柊鐢ㄦ埛澶村儚
+//                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
+                            //鏇存柊鐢ㄦ埛鍚嶇О
+                            setMemberName(cUserInfo.getMemberName());
+//                            HdlThreadLogic.toast(_mActivity, e);
                         }
                     });
                 }
@@ -88,6 +132,8 @@
 
             @Override
             public void onFailure(HDLException e) {
+                //鎬曞叾瀹冧笉鍒ゆ柇null
+                mC_UserInfo = new CUserInfo();
 //                hideLoading();
                 HdlThreadLogic.toast(_mActivity, e);
             }
@@ -99,11 +145,18 @@
      */
     private void getBUserInfo() {
 
-        HdlAccountLogic.getInstance().getUserInfo(new CloudCallBeak<BUserInfo>() {
+        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();
-                updateView(bUserInfo, null);
+                setMemberName(bUserInfo.getUserName());
+                setMemberAccount(TextUtils.isEmpty(bUserInfo.getUserPhone()) ? bUserInfo.getUserEmail() : bUserInfo.getUserPhone());
             }
 
             @Override
@@ -119,6 +172,45 @@
      * 娉ㄥ唽鐩戝惉鍣�
      */
     private void initEvent() {
+
+        viewBinding.fragmentMeIconParentCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                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) {
@@ -127,62 +219,192 @@
                 startActivity(intent);
             }
         });
+        //鍏充簬
         viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                startActivity(TestMainActivity.class);
+                startActivity(AsRegardsActivity.class);
             }
         });
 
-    }
 
-    /**
-     * 鏇存柊ui
-     *
-     * @param bUserInfo B绔釜浜轰俊鎭�
-     * @param cUserInfo C绔釜浜轰俊鎭�
-     */
-    private void updateView(BUserInfo bUserInfo, CUserInfo cUserInfo) {
-        if (viewBinding == null) {
-            return;
-        }
-        String userName = UserConfigManage.getInstance().getUserName();
-        if (bUserInfo != null) {
-            //B绔�
-            userName = bUserInfo.getUserName();
-        }
-        if (cUserInfo != null) {
-            //C绔�
-            userName = cUserInfo.getMemberName();
-            GlideUtils.getRoundedCornersImage(_mActivity, cUserInfo.getMemberHeadIcon(), viewBinding.fragmentMeIconIv, new RoundedCorners(4));
-        }
-        viewBinding.fragmentMeUserNameIv.setText(userName);
-        UserConfigManage.getInstance().setUserName(userName);
-        UserConfigManage.getInstance().Save();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        //鏇存柊鐢ㄦ埛鍚嶇О
-        updateView(null, null);
     }
 
     /**
      * 鍒濆鍖栫晫闈�
      */
     private void initView() {
-        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.power_station_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");
+                String memberName = data.getStringExtra("memberName");
+                //鏇存柊鐢ㄦ埛澶村儚
+                setMemberHeadIcon(iconUrl);
+                //鏇存柊鐢ㄦ埛鍚嶇О
+                setMemberName(memberName);
+
+            }
+        }
+    }
+
+    /**
+     * 鏄剧ず鐢ㄦ埛澶村儚
+     */
+    private void setMemberHeadIcon(String memberHeadIconUrl) {
+        if (TextUtils.isEmpty(memberHeadIconUrl)) {
+            return;
+        }
+        if (mC_UserInfo != null) {
+            mC_UserInfo.setMemberHeadIcon(memberHeadIconUrl);
+        }
+        GlideUtils.getCircleCropImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, true);
+//        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4), true);
+
+    }
+
+    /**
+     * 鏄剧ず鐢ㄦ埛鍚嶇О
+     */
+    private void setMemberName(String userName) {
+        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