From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java | 342 ++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 292 insertions(+), 50 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 c01bad5..bb837c1 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,27 +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
@@ -39,6 +64,7 @@
initEvent();
//鍒濆鍖栨暟鎹�
initData();
+
}
/**
@@ -46,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();
}
@@ -59,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);
}
});
}
@@ -87,6 +132,8 @@
@Override
public void onFailure(HDLException e) {
+ //鎬曞叾瀹冧笉鍒ゆ柇null
+ mC_UserInfo = new CUserInfo();
// hideLoading();
HdlThreadLogic.toast(_mActivity, e);
}
@@ -98,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
@@ -118,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) {
@@ -126,55 +219,204 @@
startActivity(intent);
}
});
- }
+ //鍏充簬
+ viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(AsRegardsActivity.class);
+ }
+ });
+ //甯姪
+ viewBinding.fragmentMeLineHelpIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(HelpWebActivity.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);
+
+ //甯姪
+ viewBinding.fragmentMeLineHelpIl.fragmentMeLineCl.setVisibility(View.GONE);//鑳″浆璇村厛闅愯棌
+ viewBinding.fragmentMeLineHelpIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.help);
+ viewBinding.fragmentMeLineHelpIl.fragmentMeLineTitleIv.setText(R.string.help);
+
+
+ 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