feat(member): implement member center management module
Some checks failed
Build and Deploy TenantApi + SkuWorker / build-and-deploy (push) Failing after 1m54s

This commit is contained in:
2026-03-03 20:38:31 +08:00
parent c2821202c7
commit d96ca4971a
40 changed files with 4846 additions and 1 deletions

View File

@@ -0,0 +1,99 @@
using TakeoutSaaS.Domain.Membership.Entities;
namespace TakeoutSaaS.Domain.Membership.Repositories;
/// <summary>
/// 会员聚合仓储契约。
/// </summary>
public interface IMemberRepository
{
/// <summary>
/// 查询租户下会员档案。
/// </summary>
Task<IReadOnlyList<MemberProfile>> GetProfilesAsync(long tenantId, CancellationToken cancellationToken = default);
/// <summary>
/// 按手机号集合查询会员档案。
/// </summary>
Task<IReadOnlyList<MemberProfile>> GetProfilesByMobilesAsync(
long tenantId,
IReadOnlyCollection<string> mobiles,
CancellationToken cancellationToken = default);
/// <summary>
/// 按标识查询会员档案。
/// </summary>
Task<MemberProfile?> FindProfileByIdAsync(long tenantId, long memberId, CancellationToken cancellationToken = default);
/// <summary>
/// 新增会员档案集合。
/// </summary>
Task AddProfilesAsync(IEnumerable<MemberProfile> profiles, CancellationToken cancellationToken = default);
/// <summary>
/// 更新会员档案。
/// </summary>
Task UpdateProfileAsync(MemberProfile profile, CancellationToken cancellationToken = default);
/// <summary>
/// 查询租户下会员等级。
/// </summary>
Task<IReadOnlyList<MemberTier>> GetTiersAsync(long tenantId, CancellationToken cancellationToken = default);
/// <summary>
/// 按标识查询会员等级。
/// </summary>
Task<MemberTier?> FindTierByIdAsync(long tenantId, long tierId, CancellationToken cancellationToken = default);
/// <summary>
/// 新增会员等级。
/// </summary>
Task AddTierAsync(MemberTier tier, CancellationToken cancellationToken = default);
/// <summary>
/// 更新会员等级。
/// </summary>
Task UpdateTierAsync(MemberTier tier, CancellationToken cancellationToken = default);
/// <summary>
/// 删除会员等级。
/// </summary>
Task DeleteTierAsync(MemberTier tier, CancellationToken cancellationToken = default);
/// <summary>
/// 查询租户会员日配置。
/// </summary>
Task<MemberDaySetting?> GetMemberDaySettingAsync(long tenantId, CancellationToken cancellationToken = default);
/// <summary>
/// 新增会员日配置。
/// </summary>
Task AddMemberDaySettingAsync(MemberDaySetting setting, CancellationToken cancellationToken = default);
/// <summary>
/// 更新会员日配置。
/// </summary>
Task UpdateMemberDaySettingAsync(MemberDaySetting setting, CancellationToken cancellationToken = default);
/// <summary>
/// 查询会员标签集合。
/// </summary>
Task<IReadOnlyList<MemberProfileTag>> GetProfileTagsAsync(
long tenantId,
long memberProfileId,
CancellationToken cancellationToken = default);
/// <summary>
/// 替换会员标签集合。
/// </summary>
Task ReplaceProfileTagsAsync(
long tenantId,
long memberProfileId,
IReadOnlyCollection<string> tags,
CancellationToken cancellationToken = default);
/// <summary>
/// 持久化变更。
/// </summary>
Task SaveChangesAsync(CancellationToken cancellationToken = default);
}