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); } }