using QYZH.InteractiveMagazine.Models.Dto.CheckIn; using QYZH.InteractiveMagazine.Models.Entity; namespace QYZH.InteractiveMagazine.IService; /// /// 签到服务接口 /// public interface ICheckInService : IBaseService { /// /// 用户签到 /// /// 用户Id /// 签到结果 Task CheckInAsync(long userId); /// /// 获取用户签到信息(今日状态 + 连续天数 + 最近记录) /// /// 用户Id /// 签到信息 Task GetCheckInInfoAsync(long userId); /// /// 补签(消耗补签卡,补签历史漏签日期) /// /// 用户Id /// 补签目标日期 /// 补签结果 Task MakeUpCheckInAsync(long userId, DateTime targetDate); /// /// 获取用户可补签的日期列表(历史漏签日期) /// /// 用户Id /// 往前查看天数(默认30天) /// 漏签日期列表 Task> GetMissedDatesAsync(long userId, int days = 30); }