package com.taobao.zeus.store; import java.util.List; import com.taobao.zeus.model.ZeusFollow; import com.taobao.zeus.store.mysql.persistence.ZeusUser; public interface FollowManagerOld { /** * 新增一个关注 * @param uid * @param type * @param targetId * @return */ ZeusFollow addFollow(String uid,Integer type,String targetId) ; /** * 删除一个关注 * @param uid * @param type * @param targetId * @return */ void deleteFollow(String uid,Integer type,String targetId); /** * 查询用户的所有关注 * @param uid * @return */ List<ZeusFollow> findAllTypeFollows(String uid); /** * 查询关注的所有Group * @param uid * @return */ List<ZeusFollow> findFollowedGroups(String uid); /** * 查询关注的所有Job * @param uid * @return */ List<ZeusFollow> findFollowedJobs(String uid); /** * 查询关注该Job的人员名单 * @param jobId * @return */ List<ZeusFollow> findJobFollowers(String jobId); /** * 查询关注该group的人员名单 * @param groupId * @return */ List<ZeusFollow> findGroupFollowers(List<String> groupIds); /** * 查询实际关注该job的人 * 综合考虑了job自身被关注的人,以及上层group被关注的人 * @param jobId * @return */ List<String> findActualJobFollowers(String jobId); /** * 查询所有关注该job的人 * 综合考虑了job自身被关注的人,以及上层group被关注的人 * @param jobId * @return */ List<ZeusFollow> findAllFollowers(String jobId); /** * 添加zeusfollow重要联系人 * @param targetId jobid * @param uid * @param isFirst */ void grantImportantContact(String jobId, String uid); void revokeImportantContact(String jobId, String uid); }