Files
TakeoutSaaS.TenantApi/src/Domain/TakeoutSaaS.Domain/Identity/Repositories/IMiniUserRepository.cs
2025-11-23 09:52:54 +08:00

38 lines
1.6 KiB
C#
Raw 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 TakeoutSaaS.Domain.Identity.Entities;
namespace TakeoutSaaS.Domain.Identity.Repositories;
/// <summary>
/// 小程序用户仓储契约。
/// </summary>
public interface IMiniUserRepository
{
/// <summary>
/// 根据微信 OpenId 查找小程序用户。
/// </summary>
/// <param name="openId">微信 OpenId</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns>小程序用户,如果不存在则返回 null</returns>
Task<MiniUser?> FindByOpenIdAsync(string openId, CancellationToken cancellationToken = default);
/// <summary>
/// 根据用户 ID 查找小程序用户。
/// </summary>
/// <param name="id">用户 ID</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns>小程序用户,如果不存在则返回 null</returns>
Task<MiniUser?> FindByIdAsync(Guid id, CancellationToken cancellationToken = default);
/// <summary>
/// 创建或更新小程序用户(如果 OpenId 已存在则更新,否则创建)。
/// </summary>
/// <param name="openId">微信 OpenId</param>
/// <param name="unionId">微信 UnionId可选</param>
/// <param name="nickname">昵称</param>
/// <param name="avatar">头像地址(可选)</param>
/// <param name="tenantId">租户 ID</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns>创建或更新后的小程序用户</returns>
Task<MiniUser> CreateOrUpdateAsync(string openId, string? unionId, string? nickname, string? avatar, Guid tenantId, CancellationToken cancellationToken = default);
}