From ecaff4ffd05c630ac32e49daf3b9b8904052b0fe Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 29 十二月 2023 15:16:07 +0800 Subject: [PATCH] 备份一下 --- app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 138 insertions(+), 19 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 d6f9bd3..70f0b18 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java @@ -5,6 +5,7 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.photovoltaic.enums.MessageStateType; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.api.HttpApi; import com.hdl.photovoltaic.listener.CloudCallBeak; @@ -37,6 +38,99 @@ return sHdlMessageLogic; } + /** + * 鑾峰彇鍙戠敓涓紦瀛樺垪琛� + */ + public List<MessageBean> getNascentMessageMemoryList() { + if (this.mListMessage == null || this.mListMessage.size() == 0) { + return new ArrayList<>(); + } + List<MessageBean> newList = new ArrayList<>(); + for (int i = 0; i < mListMessage.size(); i++) { + MessageBean messageBean = mListMessage.get(i); + if (messageBean.getStatus().equals(MessageStateType.untreated)) { + newList.add(messageBean); + } + + } + return newList; + } + + /** + * 鑾峰彇鎭㈠涓紦瀛樺垪琛� + */ + public List<MessageBean> getRecoverMessageMemoryList() { + if (this.mListMessage == null || this.mListMessage.size() == 0) { + return new ArrayList<>(); + } + List<MessageBean> newList = new ArrayList<>(); + for (int i = 0; i < mListMessage.size(); i++) { + MessageBean messageBean = mListMessage.get(i); + if (messageBean.getStatus().equals(MessageStateType.processed)) { + messageBean.setRead(true);//榛樿宸茶 + newList.add(messageBean); + } + + } + return newList; + } + + public List<MessageBean> getAllMessageList() { + return mListMessage; + } + + /** + * 娣诲姞娑堟伅鍒板垪琛ㄩ噷闈� + * + * @param list - + */ + public void setListMessage(List<MessageBean> list) { + try { + if (list == null || list.size() == 0) { + return; + } + if (this.mListMessage.size() == 0) { + this.mListMessage.addAll(list); + return; + } + for (int i = 0; i < list.size(); i++) { + this.setListMessage(list.get(i)); + } + } catch (Exception ignored) { + } + } + + /** + * 娣诲姞娑堟伅鍒板垪琛ㄩ噷闈� + * + * @param messageBean - + */ + public void setListMessage(MessageBean messageBean) { + try { + if (messageBean == null) { + return; + } + boolean if_boolean = false; + for (int i = 0; i < mListMessage.size(); i++) { + if (mListMessage.get(i).getMsgId().toString().equals(messageBean.getMsgId().toString())) { + //瀛樺湪鏇挎崲 + mListMessage.remove(i); + mListMessage.add(i, messageBean); + if_boolean = true; + break; + } + } + if (!if_boolean) { + //娌℃湁娣诲姞 + this.mListMessage.add(messageBean); + } + } catch (Exception ignored) { + } + } + + + private List<MessageBean> mListMessage = new ArrayList<>(); + /** * 鑾峰彇鏈鐞嗘秷鎭暟閲� @@ -65,20 +159,46 @@ } + + /** + * 鑾峰彇鍏ㄩ儴鍒楄〃 + * + * @param cloudCallBeak - + */ + public void getAllMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) { + getMessageList(MessageStateType.all, cloudCallBeak); + } + + /** + * 鑾峰彇鎭㈠涓垪琛� + * + * @param cloudCallBeak - + */ + public void getRecoverMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) { + getMessageList(MessageStateType.processed, cloudCallBeak); + } + + /** + * 鑾峰彇鍙戠敓涓垪琛� + * + * @param cloudCallBeak - + */ + public void getNascentMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) { + getMessageList(MessageStateType.untreated, cloudCallBeak); + } + /** * 鑾峰彇娑堟伅鍒楄〃 * - * @param messageStatus all:鍏ㄩ儴,untreated:鏈鐞�,processed:宸插鐞�; - * @param cloudCallBeak - + * @param messageStateType all:鍏ㄩ儴,UNTREATED:鏈鐞�,PROCESSED:宸插鐞�; + * @param cloudCallBeak - */ - public void getMessageList(MessageStatus messageStatus, CloudCallBeak<List<MessageBean>> cloudCallBeak) { + private void getMessageList(String messageStateType, CloudCallBeak<List<MessageBean>> cloudCallBeak) { String requestUrl = HttpApi.POST_Message_List; JsonObject json = new JsonObject(); - if (messageStatus == MessageStatus.untreated) { - json.addProperty("status", "UNTREATED");//鏈鐞� - } else if (messageStatus == MessageStatus.processed) { - json.addProperty("status", "PROCESSED");//宸插鐞� + if (!MessageStateType.all.equals(messageStateType)) { + json.addProperty("status", messageStateType); } json.addProperty("pageNo", 1);//椤电爜 json.addProperty("pageSize", 50);//椤垫暟 @@ -87,12 +207,16 @@ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(new ArrayList<>()); + if (TextUtils.isEmpty(jsonStr)) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new ArrayList<>()); + } + return; } Gson gson = new Gson(); MessageListClass messageListClass = gson.fromJson(jsonStr, MessageListClass.class); list.addAll(messageListClass.getList()); + setListMessage(messageListClass.getList()); //鎬诲叡鏈夊灏戦〉 long totalPage = messageListClass.totalPage; if (totalPage < 2) { @@ -112,6 +236,7 @@ atomicInteger.set(atomicInteger.get() + 1); MessageListClass messageListClass1 = gson.fromJson(jsonStr, MessageListClass.class); list.addAll(messageListClass1.getList()); + setListMessage(messageListClass.getList()); if (atomicInteger.get() == totalPage - 1) { //鏈�鍚庝竴鏉¢��鍑� if (cloudCallBeak != null) { @@ -149,11 +274,13 @@ /** * 鑾峰彇娑堟伅璇︽儏 * + * @param msgId 娑堟伅id * @param cloudCallBeak - */ - public void getMessageInfo(CloudCallBeak<MessageBean> cloudCallBeak) { + public void getMessageInfo(String msgId, CloudCallBeak<MessageBean> cloudCallBeak) { String requestUrl = HttpApi.POST_Message_Info; JsonObject json = new JsonObject(); + json.addProperty("msgId", msgId); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { @@ -186,7 +313,7 @@ * @param msgId 娑堟伅id * @param cloudCallBeak - */ - public void getMessageUntreatedCount(String msgId, CloudCallBeak<Boolean> cloudCallBeak) { + public void getMessageMessageSolve(String msgId, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.POST_Message_Solve; JsonObject json = new JsonObject(); json.addProperty("msgId", msgId); @@ -209,14 +336,6 @@ } - - public enum MessageStatus { - all,//鍏ㄩ儴 - untreated,//鏈鐞� - processed,//宸插鐞� - - - } static class MessageListClass { -- Gitblit v1.8.0