package net.dev123.mblog.api; import java.util.List; import net.dev123.commons.Paging; import net.dev123.exception.LibException; import net.dev123.mblog.entity.User; import net.dev123.mblog.entity.Group; public interface GroupMembersMethods { /** * 获取指定分组的成员列表<br> * * @param listId * 分组Id,不能为空 * @param paging * 分页控制参数,不能为空 * @return 指定分组的成员列表 * @throws LibException */ List<User> getGroupMembers(String listId, Paging<User> paging) throws LibException; /** * 添加成员到指定分组,当前用户必须是该分组的所有者<br> * * @param listId * 分组Id,不能为空 * @param userId * 用户唯一识别名,不能为空 * @return 更新后的分组 * @throws LibException */ Group createGroupMember(String listId, String userId) throws LibException; /** * 批量添加用户到指定分组,当前用户必须是该分组的所有者<br> * * @param listId * 分组名,不能为空 * @param userIds * 用户唯一识别名数组 * @return 更新后的分组 */ Group createGroupMembers(String listId, String[] userIds) throws LibException; /** * 从分组中删除指定成员,当前用户必须是该分组的所有者<br> * * @param listId * 分组Id,不能为空 * @param userId * 用户唯一识别名,不能为空 * @return 更新的分组信息 * @throws LibException */ Group destroyGroupMember(String listId, String userId) throws LibException; /** * 检查某用户是否在指定分组中<br> * * @param listId * 分组Id,不能为空 * @param userId * 用户唯一识别名,不能为空 * @return 用户信息 * @throws LibException */ User showGroupMember(String listId, String userId) throws LibException; /** * 获取指定用户所归属的分组列表,用于查询指定用户都被添加到了哪些分组中<br> * * @param groupMemberUserId * 微博成员的唯一识别名 * @param paging * 分组控制参数,不能为空 * @return 该成员所属的分组列表 * @throws LibException */ List<Group> getGroupMemberships(String groupMemberUserId, Paging<Group> paging) throws LibException; }