package com.zhentao.service;

import com.zhentao.vo.RecommendUserVO;
import com.zhentao.dto.UserSearchQuery;

import java.util.List;

public interface RecommendService {
    List<RecommendUserVO> getRecommendedUsers(Integer userId, Integer oppoOnly, Integer limit);
    List<RecommendUserVO> getRecommendedUsers(Integer userId, Integer oppoOnly, Integer limit, List<Integer> excludeIds);
    List<RecommendUserVO> searchByRules(UserSearchQuery query);
    List<com.zhentao.pojo.Province> getAllProvinces();
    List<com.zhentao.pojo.City> getAllCities();
    List<com.zhentao.pojo.City> getCitiesByProvince(Integer provinceId);
    List<com.zhentao.pojo.Area> getAreasByCity(Integer cityId);
    
    // 保存用户喜欢记录
    boolean saveUserLike(Integer userId, Integer likeUserId);
    
    // 删除用户喜欢记录
    boolean deleteUserLike(Integer userId, Integer likeUserId);
    
    // 获取用户喜欢列表
    List<RecommendUserVO> getLikedUsers(Integer userId, Integer offset, Integer limit);
    
    // 获取用户喜欢的用户数量
    Integer countLikedUsers(Integer userId);
    
    // 获取喜欢当前用户的用户列表
    List<RecommendUserVO> getUsersWhoLikedMe(Integer userId, Integer offset, Integer limit);
    
    // 获取喜欢当前用户的用户数量
    Integer countUsersWhoLikedMe(Integer userId);
}


