feat(store): 扩展临时时段配置

This commit is contained in:
2026-01-20 18:41:34 +08:00
parent 3385674490
commit 32f5bbbd43
15 changed files with 7871 additions and 33 deletions

View File

@@ -1,9 +1,10 @@
using TakeoutSaaS.Domain.Stores.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Stores.Entities;
/// <summary>
/// 门店休息日或特殊营业日
/// 门店临时时段配置(节假日/歇业/调整营业时间)
/// </summary>
public sealed class StoreHoliday : MultiTenantEntityBase
{
@@ -13,12 +14,37 @@ public sealed class StoreHoliday : MultiTenantEntityBase
public long StoreId { get; set; }
/// <summary>
/// 日期
/// 开始日期(原 Date 字段)
/// </summary>
public DateTime Date { get; set; }
/// <summary>
/// 是否全天闭店
/// 结束日期(可选,用于日期范围,如春节 1.28~2.4
/// </summary>
public DateTime? EndDate { get; set; }
/// <summary>
/// 是否全天生效。true=全天false=仅 StartTime~EndTime 时段。
/// </summary>
public bool IsAllDay { get; set; } = true;
/// <summary>
/// 开始时间IsAllDay=false 时使用)。
/// </summary>
public TimeSpan? StartTime { get; set; }
/// <summary>
/// 结束时间IsAllDay=false 时使用)。
/// </summary>
public TimeSpan? EndTime { get; set; }
/// <summary>
/// 覆盖类型(闭店/临时营业/调整时间)。
/// </summary>
public OverrideType OverrideType { get; set; } = OverrideType.Closed;
/// <summary>
/// 是否闭店(兼容旧数据,新逻辑请用 OverrideType
/// </summary>
public bool IsClosed { get; set; } = true;

View File

@@ -0,0 +1,22 @@
namespace TakeoutSaaS.Domain.Stores.Enums;
/// <summary>
/// 临时时段覆盖类型。
/// </summary>
public enum OverrideType
{
/// <summary>
/// 闭店(歇业)——覆盖常规营业时段,该时间段不营业。
/// </summary>
Closed = 0,
/// <summary>
/// 临时营业——覆盖常规休息日,使门店临时营业。
/// </summary>
TemporaryOpen = 1,
/// <summary>
/// 调整营业时间——覆盖常规时段,使用自定义营业时间。
/// </summary>
ModifiedHours = 2
}