using System; using System.Threading.Tasks; namespace LiveForum.IService.Posts { /// /// 发帖/回复时间间隔校验服务接口 /// public interface IPostReplyIntervalService { /// /// 获取用户的发帖间隔配置(秒) /// /// 用户ID /// 发帖间隔秒数,未配置返回 0 Task GetPostIntervalAsync(long userId); /// /// 获取用户的回复间隔配置(秒) /// /// 用户ID /// 回复间隔秒数,未配置返回 0 Task GetReplyIntervalAsync(long userId); /// /// 获取用户最近一次成功发帖时间 /// /// 用户ID /// 最近发帖时间,从未发帖返回 null Task GetLastPostTimeAsync(long userId); /// /// 获取用户最近一次成功回复时间 /// /// 用户ID /// 最近回复时间,从未回复返回 null Task GetLastCommentTimeAsync(long userId); /// /// 校验发帖间隔,返回 null 表示通过,否则返回剩余秒数 /// /// 用户ID /// null 表示通过校验,int 值表示还需等待的秒数 Task CheckPostIntervalAsync(long userId); /// /// 校验回复间隔,返回 null 表示通过,否则返回剩余秒数 /// /// 用户ID /// null 表示通过校验,int 值表示还需等待的秒数 Task CheckReplyIntervalAsync(long userId); } }