From f2d9afb007d65cc6c5124442f1bc35fab129d1aa Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 30 一月 2024 15:14:32 +0800 Subject: [PATCH] 2024年01月30日15:14:14 --- 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