package com.shejiaomao.weibo.service.task; import java.util.List; import com.cattong.commons.LibException; import com.cattong.commons.Logger; import com.cattong.commons.util.ListUtil; import com.cattong.entity.Status; import com.cattong.weibo.Weibo; import com.cattong.weibo.impl.sina.Sina; import com.cattong.weibo.impl.sohu.Sohu; public class ResponseCountUtil { private static int COUNT_BATCH_MAX_NUM = 100; static boolean getResponseCounts(List<Status> listStatus, Weibo microBlog) { boolean isSuccess = false; if (ListUtil.isEmpty(listStatus) || microBlog == null) { return isSuccess; } if (!(microBlog instanceof Sina) && !(microBlog instanceof Sohu)) { return isSuccess; } try { int times = (int)Math.ceil((double)listStatus.size() / COUNT_BATCH_MAX_NUM); int start = 0; int end = 0; for (int i = 0; i < times; i++) { start = i * COUNT_BATCH_MAX_NUM; end = start + COUNT_BATCH_MAX_NUM; if (end > listStatus.size()) { end = listStatus.size(); } microBlog.getResponseCountList(listStatus.subList(start, end)); } isSuccess = true; } catch (LibException e) { if (Logger.isDebug()) e.printStackTrace(); } return isSuccess; } public static void getResponseCountsAsync(List<Status> listStatus, Weibo microBlog) { if (ListUtil.isEmpty(listStatus) || microBlog == null) { return; } QueryBatchStatusCountTask task = new QueryBatchStatusCountTask(listStatus, microBlog); task.execute(); } }