using TakeoutSaaS.Domain.Identity.Entities; namespace TakeoutSaaS.Domain.Identity.Repositories; /// /// 小程序用户仓储契约。 /// public interface IMiniUserRepository { /// /// 根据微信 OpenId 查找小程序用户。 /// /// 微信 OpenId /// 取消令牌 /// 小程序用户,如果不存在则返回 null Task FindByOpenIdAsync(string openId, CancellationToken cancellationToken = default); /// /// 根据用户 ID 查找小程序用户。 /// /// 用户 ID /// 取消令牌 /// 小程序用户,如果不存在则返回 null Task FindByIdAsync(long id, CancellationToken cancellationToken = default); /// /// 按用户标识集合批量查询小程序用户。 /// Task> GetByIdsAsync( IReadOnlyCollection ids, long tenantId, CancellationToken cancellationToken = default); /// /// 创建或更新小程序用户(如果 OpenId 已存在则更新,否则创建)。 /// /// 微信 OpenId /// 微信 UnionId(可选) /// 昵称 /// 头像地址(可选) /// 租户 ID /// 取消令牌 /// 创建或更新后的小程序用户 Task CreateOrUpdateAsync(string openId, string? unionId, string? nickname, string? avatar, long tenantId, CancellationToken cancellationToken = default); }