package weiboclient4j; import weiboclient4j.model.RawSuggestionUser; import weiboclient4j.model.Status; import weiboclient4j.model.StatusIdList; import weiboclient4j.model.StatusList; import weiboclient4j.model.SuggestionUser; import static weiboclient4j.model.SuggestionUser.convertFromRawSuggestionUserList; import weiboclient4j.model.User; import weiboclient4j.model.UserList; import weiboclient4j.params.Content; import weiboclient4j.params.IsPic; import weiboclient4j.params.Num; import weiboclient4j.params.Paging; import weiboclient4j.params.Section; import weiboclient4j.params.SuggestionStatusType; import weiboclient4j.params.SuggestionUserCategory; import weiboclient4j.params.Uid; import java.util.List; /** * @author Hover Ruan */ public class SuggestionService extends AbstractService { public SuggestionService(WeiboClient client) { super(client); } public List<User> getUsersHot() throws WeiboClientException { return getUsersHot(SuggestionUserCategory.Default); } public List<User> getUsersHot(SuggestionUserCategory category) throws WeiboClientException { return doGet("suggestions/users/hot", withParams(category), User.TYPE_USER_LIST); } public List<SuggestionUser> getUsersMayInterested() throws WeiboClientException { return getUsersMayInterested(Paging.EMPTY); } public List<SuggestionUser> getUsersMayInterested(Paging paging) throws WeiboClientException { List<RawSuggestionUser> rawSuggestionUsers = doGet("suggestions/users/may_interested", paging, RawSuggestionUser.TYPE_SUGGESTION_USER_LIST); return convertFromRawSuggestionUserList(rawSuggestionUsers); } public UserList getUsersByStatus(Content content) throws WeiboClientException { return getUsersByStatus(content, Num.EMPTY); } public UserList getUsersByStatus(Content content, Num num) throws WeiboClientException { return doGet("suggestions/users/by_status", withParams(content, num), UserList.class); } public StatusList getStatusesHot(SuggestionStatusType type, IsPic isPic) throws WeiboClientException { return getStatusesHot(type, isPic, Paging.EMPTY); } public StatusList getStatusesHot(SuggestionStatusType type, IsPic isPic, Paging paging) throws WeiboClientException { return doGet("suggestions/statuses/hot", paging, withParams(type, isPic), StatusList.class); } public StatusList getStatusesReorder(Section section) throws WeiboClientException { return getStatusesReorder(section, Paging.EMPTY); } public StatusList getStatusesReorder(Section section, Paging paging) throws WeiboClientException { return doGet("suggestions/statuses/reorder", paging, withParams(section), StatusList.class); } public StatusIdList getStatusIdsReorder(Section section) throws WeiboClientException { return getStatusIdsReorder(section, Paging.EMPTY); } public StatusIdList getStatusIdsReorder(Section section, Paging paging) throws WeiboClientException { return doGet("suggestions/statuses/reorder/ids", paging, withParams(section), StatusIdList.class); } public List<Status> getFavoritesHot() throws WeiboClientException { return getFavoritesHot(Paging.EMPTY); } public List<Status> getFavoritesHot(Paging paging) throws WeiboClientException { return doGet("suggestions/favorites/hot", paging, Status.TYPE_STATUS_LIST); } public User setUserNotInterested(Uid uid) throws WeiboClientException { return doPost("suggestions/users/not_interested", withParams(uid), User.class); } }