From 87cd5df70918e6ba1af849c5f026d3719bfdb1ac Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 09 四月 2025 09:06:29 +0800 Subject: [PATCH] Merge branch '1.5.2' into dev --- app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java | 386 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 380 insertions(+), 6 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 139c0d3..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 @@ -1,14 +1,51 @@ package com.hdl.photovoltaic.ui.me; +import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; + +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 public Object getContentView() { @@ -18,15 +55,352 @@ @Override public void onBindView(Bundle savedInstanceState) { - viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.my_power_station_鎴戠殑); - viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE); - viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message); + //鍒濆鍖� + initView(); + //鍒濆鍖栫晫闈㈢洃鍚櫒 + initEvent(); + //鍒濆鍖栨暟鎹� + initData(); + } + + /** + * 鍒濆鍖栨暟鎹� + */ + private void initData() { +// showLoading(); +// if (UserConfigManage.getInstance().isBAccount()) { +// this.getBUserInfo(); +// } else { +// this.getCMemberInfo(); +// } + //鍥犱负uni閭h竟闇�瑕侊紝鍚姩鐨勬椂鍊欏氨璇诲彇鍟� + this.getResidenceTemperatureUnit(); + } + + + /** + * 鑾峰彇C绔釜浜轰俊鎭� + */ + private void getCMemberInfo() { + + 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")) { + //鏇存柊鐢ㄦ埛澶村儚 + setMemberHeadIcon(cUserInfo.getMemberHeadIcon()); + //鏇存柊鐢ㄦ埛鍚嶇О + setMemberName(cUserInfo.getMemberName()); + } else { + HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String url) { + cUserInfo.setMemberHeadIcon(url); + //鏇存柊鐢ㄦ埛澶村儚 + setMemberHeadIcon(cUserInfo.getMemberHeadIcon()); + //鏇存柊鐢ㄦ埛鍚嶇О + setMemberName(cUserInfo.getMemberName()); + } + + @Override + public void onFailure(HDLException e) { +// //鏇存柊鐢ㄦ埛澶村儚 +// setMemberHeadIcon(cUserInfo.getMemberHeadIcon()); + //鏇存柊鐢ㄦ埛鍚嶇О + setMemberName(cUserInfo.getMemberName()); +// HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + + } + + @Override + public void onFailure(HDLException e) { + //鎬曞叾瀹冧笉鍒ゆ柇null + mC_UserInfo = new CUserInfo(); +// hideLoading(); + HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + /** + * 鑾峰彇B绔釜浜轰俊鎭� + */ + private void getBUserInfo() { + + 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 + public void onFailure(HDLException e) { +// hideLoading(); + HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + + /** + * 娉ㄥ唽鐩戝惉鍣� + */ + 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) { + Intent intent = new Intent(); + intent.setClass(_mActivity, SetActivity.class); + startActivity(intent); + } + }); + //鍏充簬 + viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(AsRegardsActivity.class); + } + }); + + + } + + /** + * 鍒濆鍖栫晫闈� + */ + private void initView() { + //璁惧璋冭瘯 + 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_璁剧疆); - + 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_鍏充簬); + 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