From 592ad3b6524ff524c999674b272a653ef062780e Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 30 一月 2024 13:47:17 +0800
Subject: [PATCH] 2024年01月30日13:47:09
---
app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java | 85 +++++++++++++++++-------------------------
1 files changed, 35 insertions(+), 50 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
index 43e9624..b8fa1bb 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -23,7 +23,8 @@
public class HdlMessageLogic {
private static volatile HdlMessageLogic sHdlMessageLogic;
- private int pageSize = 50;//椤垫暟
+ private final int pageSize = 50;//椤垫暟
+ private List<MessageBean> mListMessage = new ArrayList<>();
/**
* 鑾峰彇褰撳墠瀵硅薄
@@ -41,6 +42,7 @@
}
return sHdlMessageLogic;
}
+
/**
* 鑾峰彇鍙戠敓涓紦瀛樺垪琛�
@@ -242,8 +244,29 @@
}
- private List<MessageBean> mListMessage = new ArrayList<>();
+ /**
+ * 鑾峰彇鏈鐞嗙紦瀛樻秷鎭暟閲�
+ */
+ public String getMessageUntreatedMemoryCount() {
+ if (this.mListMessage == null || this.mListMessage.size() == 0) {
+ return "0";
+ }
+ List<MessageBean> newList = new ArrayList<>();
+ for (int i = 0; i < mListMessage.size(); i++) {
+ MessageBean messageBean = mListMessage.get(i);
+ if (messageBean == null) {
+ continue;
+ }
+ if (!messageBean.getStatus().equals(MessageStateType.untreated)) {
+ continue;
+ }
+ if (!messageBean.isRead()) {
+ newList.add(messageBean);
+ }
+ }
+ return newList.size() + "";
+ }
/**
* 鑾峰彇鏈鐞嗘秷鎭暟閲�
@@ -314,7 +337,7 @@
json.addProperty("status", messageStateType);
}
json.addProperty("pageNo", 1);//椤电爜
- json.addProperty("pageSize", 50);//椤垫暟
+ json.addProperty("pageSize", pageSize);//椤垫暟
List<MessageBean> list = new ArrayList<>();
HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@@ -384,74 +407,36 @@
}
/**
- * 鑾峰彇娑堟伅鍒楄〃
+ * 鑾峰彇鎸囧畾椤电殑鑾峰彇娑堟伅鍒楄〃
*
+ * @param pageNo 椤电爜
* @param messageStateType all:鍏ㄩ儴,UNTREATED:鏈鐞�,PROCESSED:宸插鐞�;
* @param cloudCallBeak -
*/
- private void getMessageList(int pageNo, String messageStateType, CloudCallBeak<List<MessageBean>> cloudCallBeak) {
+ public void getPageNoMessageList(int pageNo, String messageStateType, CloudCallBeak<MessageListClass> cloudCallBeak) {
String requestUrl = HttpApi.POST_Message_List;
JsonObject json = new JsonObject();
if (!MessageStateType.all.equals(messageStateType)) {
json.addProperty("status", messageStateType);
}
- json.addProperty("pageNo", 1);//椤电爜
- json.addProperty("pageSize", 50);//椤垫暟
+ json.addProperty("pageNo", pageNo);//椤电爜
+ json.addProperty("pageSize", pageSize);//椤垫暟
- List<MessageBean> list = new ArrayList<>();
HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@Override
public void onSuccess(String jsonStr) {
if (TextUtils.isEmpty(jsonStr)) {
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(new ArrayList<>());
+ cloudCallBeak.onSuccess(new MessageListClass());
}
return;
}
Gson gson = new Gson();
MessageListClass oldMessageListClass = gson.fromJson(jsonStr, MessageListClass.class);
- list.addAll(oldMessageListClass.getList());
setListMessage(oldMessageListClass.getList());
- //鎬诲叡鏈夊灏戦〉
- long totalPage = oldMessageListClass.totalPage;
- if (totalPage < 2) {
- if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(list);
- }
- return;
- }
- //璁板綍璇锋眰鏉℃暟
- AtomicInteger atomicInteger = new AtomicInteger(0);
- //浠庣浜岄〉鑾峰彇鏁版嵁
- for (int i = 2; i <= totalPage; i++) {
- json.addProperty("pageNo", i);//鏇存柊椤电爜
- HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
- @Override
- public void onSuccess(String jsonStr) {
- atomicInteger.set(atomicInteger.get() + 1);
- MessageListClass newMessageListClass = gson.fromJson(jsonStr, MessageListClass.class);
- list.addAll(newMessageListClass.getList());
- setListMessage(newMessageListClass.getList());
- if (atomicInteger.get() == totalPage - 1) {
- //鏈�鍚庝竴鏉¢��鍑�
- if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(list);
- }
- }
- }
-
- @Override
- public void onFailure(HDLException e) {
- atomicInteger.set(atomicInteger.get() + 1);
- if (atomicInteger.get() == totalPage - 1) {
- //鏈�鍚庝竴鏉¢��鍑�
- if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(list);
- }
- }
- }
- });
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(oldMessageListClass);
}
}
@@ -533,7 +518,7 @@
}
- static class MessageListClass {
+ public static class MessageListClass {
//鎬绘潯鏁�
private long totalCount;
--
Gitblit v1.8.0