Files
glz 903ccd3073 feat: 新增签到、宠物、期刊绑定、补偿任务等业务模块,优化微信登录流程
本次提交完成了多个核心业务模块的开发与优化:
1.  宠物模块:新增宠物实体、服务接口与实现,支持创建默认宠物、激活、喂养、进化以及喂养记录查询
2.  签到模块:新增签到实体、服务接口、控制器以及相关DTO,支持用户签到和签到信息查询,新增成长值奖励字段
3.  期刊绑定模块:新增用户期刊关联实体、服务接口与控制器,支持扫码绑定期刊、解绑和查询绑定列表
4.  补偿任务模块:新增补偿任务实体、服务接口与实现,用于处理业务失败后的异步重试补偿
5.  优化微信登录流程:拆分登录与快捷登录接口,支持手机号获取,新增首次登录自动创建默认宠物逻辑
6.  调整基础路由与实体状态:修改微信控制器路由前缀,更新宠物状态枚举与默认值
2026-06-04 15:54:30 +08:00

47 lines
1.8 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.Compensation;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
/// <summary>
/// 补偿任务服务接口(仅负责记录和状态管理,处理逻辑由外部项目实现)
/// </summary>
public interface ICompensationTaskService : IBaseService<CompensationTask>
{
/// <summary>
/// 创建补偿任务(公共调用入口)
/// 当业务操作部分成功但某个后续步骤失败时调用,记录失败操作以便后续重试
/// </summary>
/// <param name="input">补偿任务创建参数</param>
/// <returns>补偿任务Id</returns>
Task<long> CreateTaskAsync(CreateCompensationTaskInput input);
/// <summary>
/// 获取待处理的补偿任务列表Pending + 已过 ScheduledAt 的任务)
/// </summary>
/// <param name="limit">每次获取数量上限</param>
/// <returns>待处理任务列表</returns>
Task<List<CompensationTaskOutput>> GetPendingTasksAsync(int limit = 50);
/// <summary>
/// 按条件查询补偿任务(供外部项目按类型/状态/来源拉取)
/// </summary>
/// <param name="input">查询条件</param>
/// <returns>任务列表</returns>
Task<List<CompensationTaskOutput>> GetTasksAsync(GetCompensationTasksInput input);
/// <summary>
/// 更新补偿任务状态(供外部处理项目回调更新处理结果)
/// </summary>
/// <param name="taskId">任务Id</param>
/// <param name="input">状态更新参数</param>
Task UpdateTaskStatusAsync(long taskId, UpdateCompensationStatusInput input);
/// <summary>
/// 取消补偿任务
/// </summary>
/// <param name="taskId">任务Id</param>
/// <param name="reason">取消原因</param>
Task CancelTaskAsync(long taskId, string reason);
}