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; } = [];
}