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