From 1ef9c12f9e1edd46fd3edac5363d3519a5e0c05f Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 30 五月 2024 21:12:37 +0800
Subject: [PATCH] Merge branch 'wjc_new' into develop_new
---
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java | 204 +++++++++++++++++++++++++++-----------------------
1 files changed, 109 insertions(+), 95 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
index 5002a1e..e5e7875 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -11,8 +11,8 @@
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -26,9 +26,11 @@
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.photovoltaic.ui.message.MessageInfoActivity;
import com.hdl.photovoltaic.ui.newC.adapter.MessageCenterListAdapter;
+import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.widget.TypeTitleListDialog;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -58,8 +60,19 @@
private int mTotalCount1 = 0;//娑堟伅鏁伴噺鎬绘暟
private int mTotalCount2 = 0;//娑堟伅鏁伴噺鎬绘暟
- private String mFilterKye = FilterType.all;//杩囨护绫诲瀷
- private String mFilterValue = FilterType.all;//杩囨护绫诲瀷鍊�
+ private String mDeviceTypeFilterKye = FilterType.deviceType;//杩囨护绫诲瀷 deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級
+ private String mDeviceTypeFilterValue = FilterType.all;//杩囨护绫诲瀷鍊� deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級
+
+ private String mTypeFilterKye = FilterType.all;//杩囨护绫诲瀷 type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+ private String mTypeFilterValue = FilterType.all;//杩囨护绫诲瀷鍊� type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+
+ private String mTimeTypeFilterKye = FilterType.all;//杩囨护绫诲瀷 timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
+ private String mTimeTypeFilterValue = FilterType.all;//杩囨护绫诲瀷鍊� timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
+
+
+ //deviceType_filter_value deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級锛�
+ // * type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+ // * timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
private boolean isLoadingMore = false; // 鏍囪姝e湪鍔犺浇鏇村鏁版嵁
LinearLayoutManager mLayoutManager;
@@ -80,7 +93,7 @@
//鍒濆鍖栫晫闈㈢洃鍚櫒
initEvent();
//杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�)
- loadNextPageMessageList(1, true, FilterType.all, FilterType.all);
+ loadNextPageMessageList(1, true, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all);
}
@Override
@@ -92,10 +105,16 @@
private void initEvent() {
//杩斿洖鎸夐挳
- viewBinding.toolbarTopMessageCenterListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
+ viewBinding.toolbarTopMessageCenterListRl.topBackLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clearCacheData();
+ HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+ uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_REFRESH_UNREAD_NUMBER);
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("homeId", UserConfigManage.getInstance().getHomeId());
+ uniCallBackBaseBean.setData(jsonObject);
+ HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
finish();
}
});
@@ -108,7 +127,9 @@
@Override
public void onSuccess(Boolean obj) {
hideLoading();
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
+// HdlMessageLogic.getInstance().setAllRead(true);
+// updateListData();
}
@Override
@@ -128,16 +149,16 @@
viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
List<String> stringList = getTypeList(FilterType.deviceType);
- TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
+ TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList, viewBinding.allDeviceTitleTv.getText().toString());
typeTitleListDialog.show();
typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
@Override
public void onClick(int position, String title) {
viewBinding.allDeviceTitleTv.setText(title);
- mFilterKye = FilterType.deviceType;
- mFilterValue = findFilterValueString(title);
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ mDeviceTypeFilterKye = FilterType.deviceType;
+ mDeviceTypeFilterValue = findFilterValueString(title);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
});
@@ -153,15 +174,15 @@
viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.up);
viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
List<String> stringList = getTypeList(FilterType.type);
- TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
+ TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList, viewBinding.allGradeTitleTv.getText().toString());
typeTitleListDialog.show();
typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
@Override
public void onClick(int position, String title) {
viewBinding.allGradeTitleTv.setText(title);
- mFilterKye = FilterType.type;
- mFilterValue = findFilterValueString(title);
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ mTypeFilterKye = FilterType.type;
+ mTypeFilterValue = findFilterValueString(title);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
});
}
@@ -174,15 +195,15 @@
viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.up);
List<String> stringList = getTypeList(FilterType.timeType);
- TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
+ TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList, viewBinding.allTimeTitleTv.getText().toString());
typeTitleListDialog.show();
typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
@Override
public void onClick(int position, String title) {
viewBinding.allTimeTitleTv.setText(title);
- mFilterKye = FilterType.timeType;
- mFilterValue = findFilterValueString(title);
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ mTimeTypeFilterKye = FilterType.timeType;
+ mTimeTypeFilterValue = findFilterValueString(title);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
});
}
@@ -197,7 +218,7 @@
}
isAlarmDeviceClick = true;
refreshBottomStyle(true);
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
});
//鍛婅璁板綍鎸夐挳
@@ -209,7 +230,7 @@
}
isAlarmDeviceClick = false;
refreshBottomStyle(false);
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
});
@@ -220,7 +241,7 @@
@Override
public void onRefresh() {
viewBinding.messageContentSrl.setRefreshing(false);
- loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
+ loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
});
//涓婃媺鎸夐挳
@@ -240,7 +261,7 @@
if (!isLoadingMore) {
// 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴");
- loadNextPageMessageList(++mCurrentPage, false, mFilterKye, mFilterValue);
+ loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
}
}
}
@@ -250,7 +271,7 @@
@Override
public void onClick(int position, MessageBean messageBean) {
Intent intent = new Intent();
- intent.putExtra("msgId", messageBean.getMsgId().toString());
+ intent.putExtra("messageBean", new Gson().toJson(messageBean));
intent.setClass(_mActivity, MessageInfoActivity.class);
startActivity(intent);
}
@@ -261,7 +282,7 @@
private void initView() {
viewBinding.toolbarTopMessageCenterListRl.getRoot().setBackgroundColor(getColor(R.color.text_FFFFFFFF));
- viewBinding.toolbarTopMessageCenterListRl.topBackBtn.setVisibility(View.VISIBLE);
+ viewBinding.toolbarTopMessageCenterListRl.topBackLl.setVisibility(View.VISIBLE);
viewBinding.toolbarTopMessageCenterListRl.topLeftIv.setImageResource(R.drawable.back_c);
viewBinding.toolbarTopMessageCenterListRl.topTitleTv.setText(R.string.set_message_center);
viewBinding.toolbarTopMessageCenterListRl.topMoreBtn.setVisibility(View.VISIBLE);
@@ -285,14 +306,17 @@
/**
* 鍔犺浇涓�椤垫暟鎹�
*
- * @param pageNo 椤垫暟
- * @param isShowLoading 鏄惁鍚姩鍔犺浇妗� true鍚姩
- * @param filter_key 绫诲瀷锛堣澶囷紝绛夌骇锛屾椂闂达級
- * @param filter_value deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級锛�
- * type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
- * timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
+ * @param pageNo 椤垫暟
+ * @param isShowLoading 鏄惁鍚姩鍔犺浇妗� true鍚姩
+ * @param deviceType_filter_key 绫诲瀷锛堣澶囷紝绛夌骇锛屾椂闂达級
+ * @param deviceType_filter_value deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級锛�
+ * type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+ * timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
*/
- private void loadNextPageMessageList(int pageNo, boolean isShowLoading, String filter_key, String filter_value) {
+ private void loadNextPageMessageList(int pageNo, boolean isShowLoading,
+ String deviceType_filter_key, String deviceType_filter_value,
+ String type_filter_key, String type_filter_value,
+ String timeType_filter_key, String timeType_filter_value) {
if (pageNo == 1) {
//琛ㄧず浠庣涓�椤靛彲浠ヨ鍙栵紝榛樿娓呯┖鎵�鏈夌紦瀛樻暟鎹�;
clearCacheData();
@@ -313,75 +337,44 @@
} else {
messageStateType = MessageStateType.processed;
}
- HdlMessageLogic.getInstance().getPageNoMessageList_C(pageNo, messageStateType, filter_key, filter_value, new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
- @Override
- public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) {
- if (messageListClass != null) {
- mCurrentTotal = (int) messageListClass.getTotalPage();
- mCurrentPage = (int) messageListClass.getPageNo();
- int totalCount = (int) messageListClass.getTotalCount();
- if (isAlarmDeviceClick) {
- mTotalCount1 = totalCount;
- } else {
- mTotalCount2 = totalCount;
- }
- updateListData();
- }
- isLoadingMore = false;
- if (isShowLoading) {
- hideLoading();
- }
- }
-
- @Override
- public void onFailure(HDLException e) {
- if (mCurrentPage > 1) {
- --mCurrentPage;
- }
- isLoadingMore = false;
- if (isShowLoading) {
- hideLoading();
- }
- }
- });
-
-
- }
-
- /**
- * 璇诲彇娑堟伅銆愭湭璇绘暟閲忋��
- */
- private void getUnreadCount() {
- HdlMessageLogic.getInstance().getMessageUntreatedCount(new CloudCallBeak<String>() {
- @Override
- public void onSuccess(String data) {
-
- HdlThreadLogic.runMainThread(new Runnable() {
+ HdlMessageLogic.getInstance().getPageNoMessageList(UserConfigManage.getInstance().getHomeId(), pageNo, messageStateType,
+ deviceType_filter_key, deviceType_filter_value,
+ type_filter_key, type_filter_value,
+ timeType_filter_key, timeType_filter_value,
+ "",
+ new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
@Override
- public void run() {
- JSONObject jsonObject = JSON.parseObject(data);
- if (jsonObject.containsKey("untreatedCount")) {
- //鏈鐞嗘暟閲�
- String untreatedCount = jsonObject.getString("untreatedCount");
- refreshCount();
+ public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) {
+ if (messageListClass != null) {
+ mCurrentTotal = (int) messageListClass.getTotalPage();
+ mCurrentPage = (int) messageListClass.getPageNo();
+ int totalCount = (int) messageListClass.getTotalCount();
+ if (isAlarmDeviceClick) {
+ mTotalCount1 = totalCount;
+ } else {
+ mTotalCount2 = totalCount;
+ }
+ updateListData();
}
- if (jsonObject.containsKey("unreadCount")) {
- //鏈鏁伴噺
- String unreadCount = jsonObject.getString("unreadCount");
+ isLoadingMore = false;
+ if (isShowLoading) {
+ hideLoading();
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (mCurrentPage > 1) {
+ --mCurrentPage;
+ }
+ isLoadingMore = false;
+ if (isShowLoading) {
+ hideLoading();
}
}
});
- }
- @Override
- public void onFailure(HDLException e) {
- TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
- if (textView != null) {
- textView.setVisibility(View.GONE);
- }
- }
- });
}
@@ -505,7 +498,13 @@
*/
private void updateCacheData() {
mList.clear();
- mList.addAll(HdlMessageLogic.getInstance().getAllMessageList());
+ if (isAlarmDeviceClick) {
+ //璁惧鎶ヨ
+ mList.addAll(HdlMessageLogic.getInstance().getNascentMessageMemoryList());
+ } else {
+ //鎶ヨ璁板綍
+ mList.addAll(HdlMessageLogic.getInstance().getRecoverMessageMemoryList());
+ }
}
@@ -580,4 +579,19 @@
}
return stringList;
}
+
+ /**
+ * 鐗╃悊鎸夐敭杩斿洖浜嬩欢
+ */
+ @Override
+ public void onBackPressed() {
+ clearCacheData();
+ HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+ uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_REFRESH_UNREAD_NUMBER);
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("homeId", UserConfigManage.getInstance().getHomeId());
+ uniCallBackBaseBean.setData(jsonObject);
+ HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
+ super.onBackPressed();
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0