| | |
| | | public class HdlMessageLogic { |
| | | private static volatile HdlMessageLogic sHdlMessageLogic; |
| | | |
| | | private final int pageSize = 50;//页数 |
| | | private final int pageSize = 100;//页数 |
| | | private List<MessageBean> mListMessage = new ArrayList<>(); |
| | | |
| | | |
| | |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMessageUntreatedCount(String homeId, CloudCallBeak<UnCountBean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_UntreatedCount; |
| | | String requestUrl = HttpApi.POST_Message_Plan_UntreatedCount; |
| | | JsonObject json = new JsonObject(); |
| | | if (!TextUtils.isEmpty(homeId)) { |
| | | json.addProperty("homeId", homeId); |
| | |
| | | * @param cloudCallBeak - |
| | | */ |
| | | private void getMessageList(String messageStateType, CloudCallBeak<List<MessageBean>> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_List; |
| | | String requestUrl = HttpApi.POST_Message_Plan_List; |
| | | JsonObject json = new JsonObject(); |
| | | |
| | | if (!MessageStateType.all.equals(messageStateType)) { |
| | |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getPageNoMessageList(int pageNo, String messageStateType, CloudCallBeak<MessageListClass> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_List; |
| | | String requestUrl = HttpApi.POST_Message_Plan_List; |
| | | JsonObject json = new JsonObject(); |
| | | |
| | | if (!MessageStateType.all.equals(messageStateType)) { |
| | |
| | | String timeType_filter_key, |
| | | String timeType_filter_value, |
| | | String search_title, CloudCallBeak<MessageListClass> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_List; |
| | | String requestUrl = HttpApi.POST_Message_Plan_List; |
| | | JsonObject json = new JsonObject(); |
| | | if (!TextUtils.isEmpty(homeId)) { |
| | | json.addProperty("homeId", homeId); |
| | |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMessageInfo(String msgId, CloudCallBeak<MessageBean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_Info; |
| | | String requestUrl = HttpApi.POST_Message_Plan_Info; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("msgId", msgId); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void messageAllRead(String homeId, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_AllRead; |
| | | String requestUrl = HttpApi.POST_Message_Plan_AllRead; |
| | | JsonObject json = new JsonObject(); |
| | | if (!TextUtils.isEmpty(homeId)) { |
| | | json.addProperty("homeId", homeId); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取消息住宅列表 |
| | | * |
| | | * @param homeName 电站名称(搜索用的),如果是空字符串默认读取全部 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMessageHouseList(String homeName, CloudCallBeak<List<MessageBean>> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Message_Plan_homeListByPage; |
| | | JsonObject json = new JsonObject(); |
| | | |
| | | if (!TextUtils.isEmpty(homeName)) { |
| | | json.addProperty("homeName", homeName); |
| | | } |
| | | json.addProperty("pageNo", 1);//页码 |
| | | json.addProperty("pageSize", 500);//页数 |
| | | |
| | | final 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<>()); |
| | | } |
| | | return; |
| | | } |
| | | Gson gson = new Gson(); |
| | | MessageListClass oldMessageListClass = gson.fromJson(jsonStr, MessageListClass.class); |
| | | list.addAll(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()); |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | public static class MessageListClass { |
| | | |
| | | //总条数 |