feat(product): add product list/detail/save/soldout/batch api support
All checks were successful
Build and Deploy TenantApi / build-and-deploy (push) Successful in 47s

This commit is contained in:
2026-02-21 17:23:48 +08:00
parent d41f69045f
commit f7c2ae4bac
24 changed files with 10302 additions and 6 deletions

View File

@@ -63,6 +63,56 @@ public sealed class Product : MultiTenantEntityBase
/// </summary>
public ProductStatus Status { get; set; } = ProductStatus.Draft;
/// <summary>
/// 商品类型。
/// </summary>
public ProductKind Kind { get; set; } = ProductKind.Single;
/// <summary>
/// 月销量。
/// </summary>
public int SalesMonthly { get; set; }
/// <summary>
/// 标签 JSON字符串数组
/// </summary>
public string? TagsJson { get; set; }
/// <summary>
/// 沽清模式。
/// </summary>
public ProductSoldoutMode? SoldoutMode { get; set; }
/// <summary>
/// 沽清恢复时间。
/// </summary>
public DateTime? RecoverAt { get; set; }
/// <summary>
/// 沽清后剩余可售。
/// </summary>
public int? RemainStock { get; set; }
/// <summary>
/// 沽清原因。
/// </summary>
public string? SoldoutReason { get; set; }
/// <summary>
/// 是否同步通知外卖平台。
/// </summary>
public bool SyncToPlatform { get; set; } = true;
/// <summary>
/// 是否通知店长。
/// </summary>
public bool NotifyManager { get; set; }
/// <summary>
/// 定时上架时间。
/// </summary>
public DateTime? TimedOnShelfAt { get; set; }
/// <summary>
/// 主图。
/// </summary>

View File

@@ -0,0 +1,17 @@
namespace TakeoutSaaS.Domain.Products.Enums;
/// <summary>
/// 商品类型。
/// </summary>
public enum ProductKind
{
/// <summary>
/// 单品。
/// </summary>
Single = 0,
/// <summary>
/// 套餐。
/// </summary>
Combo = 1
}

View File

@@ -0,0 +1,22 @@
namespace TakeoutSaaS.Domain.Products.Enums;
/// <summary>
/// 商品沽清模式。
/// </summary>
public enum ProductSoldoutMode
{
/// <summary>
/// 今日沽清。
/// </summary>
Today = 0,
/// <summary>
/// 定时沽清。
/// </summary>
Timed = 1,
/// <summary>
/// 永久沽清。
/// </summary>
Permanent = 2
}