using MediatR; using TakeoutSaaS.Application.App.Coupons.NewCustomer.Dto; namespace TakeoutSaaS.Application.App.Coupons.NewCustomer.Commands; /// /// 保存新客有礼配置。 /// public sealed class SaveNewCustomerSettingsCommand : IRequest { /// /// 门店 ID。 /// public long StoreId { get; init; } /// /// 是否开启新客礼包。 /// public bool GiftEnabled { get; init; } /// /// 礼包类型(coupon/direct)。 /// public string GiftType { get; init; } = "coupon"; /// /// 首单直减金额。 /// public decimal? DirectReduceAmount { get; init; } /// /// 首单直减门槛金额。 /// public decimal? DirectMinimumSpend { get; init; } /// /// 是否开启邀请分享。 /// public bool InviteEnabled { get; init; } /// /// 分享渠道。 /// public IReadOnlyCollection ShareChannels { get; init; } = []; /// /// 新客礼包券。 /// public IReadOnlyCollection WelcomeCoupons { get; init; } = []; /// /// 邀请人奖励券。 /// public IReadOnlyCollection InviterCoupons { get; init; } = []; /// /// 被邀请人奖励券。 /// public IReadOnlyCollection InviteeCoupons { get; init; } = []; }