Files
glz ae2c6ddfc7 feat: add wechat mini program mall, check-in supplement and pet skin system
This commit implements a complete WeChat mini program mall and related features:
1. Add pet skin entity and backpack item type support
2. Add make-up check-in and missed date query functions
3. Implement mall product browsing, exchange and record query
4. Add backpack management and item usage (make-up card)
5. Add pet skin equipping function
6. Fix UserBag ItemId type from int to long
7. Adjust Dockerfile exposed port to 8080
8. Fix session cookie unprotect warning
2026-06-04 18:03:34 +08:00

41 lines
1.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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