| | |
| | | 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; |
| | |
| | | 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<>(); |
| | | |
| | | |
| | | /** |
| | | * 获取未处理消息数量 |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取全部列表 |
| | | * |
| | | * @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);//页数 |
| | |
| | | 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) { |
| | |
| | | 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) { |
| | |
| | | /** |
| | | * 获取消息详情 |
| | | * |
| | | * @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) { |
| | |
| | | * @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); |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | public enum MessageStatus { |
| | | all,//全部 |
| | | untreated,//未处理 |
| | | processed,//已处理 |
| | | |
| | | |
| | | } |
| | | |
| | | static class MessageListClass { |
| | | |