using System.Collections.Generic;
using System.Threading.Tasks;
namespace LiveForum.IService.Posts
{
///
/// 浏览服务接口
///
public interface IViewService
{
///
/// 检查是否可以增加浏览次数(10分钟限制检查,优先Redis)
///
/// 用户ID
/// 帖子ID
/// 是否可以增加浏览次数
Task CanAddViewAsync(long userId, long postId);
///
/// 获取浏览次数(优先Redis,再查数据库)
///
/// 帖子ID
/// 浏览次数
Task GetViewCountAsync(long postId);
///
/// 批量查询浏览次数
///
/// 帖子ID列表
/// 帖子ID到浏览次数的映射
Task> BatchGetViewCountAsync(List postIds);
///
/// 执行增加浏览操作(Redis+队列)
///
/// 用户ID
/// 帖子ID
/// 是否操作成功
Task AddViewAsync(long userId, long postId);
}
}