feat: 完成门店管理剩余接口并补齐文档注释
All checks were successful
Build and Deploy TenantApi / build-and-deploy (push) Successful in 46s
All checks were successful
Build and Deploy TenantApi / build-and-deploy (push) Successful in 46s
This commit is contained in:
@@ -148,6 +148,14 @@ public sealed class TakeoutAppDbContext(
|
||||
/// </summary>
|
||||
public DbSet<StoreDeliveryZone> StoreDeliveryZones => Set<StoreDeliveryZone>();
|
||||
/// <summary>
|
||||
/// 门店配送设置。
|
||||
/// </summary>
|
||||
public DbSet<StoreDeliverySetting> StoreDeliverySettings => Set<StoreDeliverySetting>();
|
||||
/// <summary>
|
||||
/// 门店堂食设置。
|
||||
/// </summary>
|
||||
public DbSet<StoreDineInSetting> StoreDineInSettings => Set<StoreDineInSetting>();
|
||||
/// <summary>
|
||||
/// 门店桌台区域。
|
||||
/// </summary>
|
||||
public DbSet<StoreTableArea> StoreTableAreas => Set<StoreTableArea>();
|
||||
@@ -168,6 +176,14 @@ public sealed class TakeoutAppDbContext(
|
||||
/// </summary>
|
||||
public DbSet<StorePickupSlot> StorePickupSlots => Set<StorePickupSlot>();
|
||||
/// <summary>
|
||||
/// 门店班次模板。
|
||||
/// </summary>
|
||||
public DbSet<StoreStaffTemplate> StoreStaffTemplates => Set<StoreStaffTemplate>();
|
||||
/// <summary>
|
||||
/// 门店每周排班。
|
||||
/// </summary>
|
||||
public DbSet<StoreStaffWeeklySchedule> StoreStaffWeeklySchedules => Set<StoreStaffWeeklySchedule>();
|
||||
/// <summary>
|
||||
/// 商品分类。
|
||||
/// </summary>
|
||||
public DbSet<ProductCategory> ProductCategories => Set<ProductCategory>();
|
||||
@@ -411,11 +427,15 @@ public sealed class TakeoutAppDbContext(
|
||||
ConfigureStoreBusinessHour(modelBuilder.Entity<StoreBusinessHour>());
|
||||
ConfigureStoreHoliday(modelBuilder.Entity<StoreHoliday>());
|
||||
ConfigureStoreDeliveryZone(modelBuilder.Entity<StoreDeliveryZone>());
|
||||
ConfigureStoreDeliverySetting(modelBuilder.Entity<StoreDeliverySetting>());
|
||||
ConfigureStoreDineInSetting(modelBuilder.Entity<StoreDineInSetting>());
|
||||
ConfigureStoreTableArea(modelBuilder.Entity<StoreTableArea>());
|
||||
ConfigureStoreTable(modelBuilder.Entity<StoreTable>());
|
||||
ConfigureStoreEmployeeShift(modelBuilder.Entity<StoreEmployeeShift>());
|
||||
ConfigureStorePickupSetting(modelBuilder.Entity<StorePickupSetting>());
|
||||
ConfigureStorePickupSlot(modelBuilder.Entity<StorePickupSlot>());
|
||||
ConfigureStoreStaffTemplate(modelBuilder.Entity<StoreStaffTemplate>());
|
||||
ConfigureStoreStaffWeeklySchedule(modelBuilder.Entity<StoreStaffWeeklySchedule>());
|
||||
ConfigureProductCategory(modelBuilder.Entity<ProductCategory>());
|
||||
ConfigureProduct(modelBuilder.Entity<Product>());
|
||||
ConfigureProductAttributeGroup(modelBuilder.Entity<ProductAttributeGroup>());
|
||||
@@ -603,6 +623,10 @@ public sealed class TakeoutAppDbContext(
|
||||
builder.Property(x => x.FixedPackagingFee).HasPrecision(10, 2);
|
||||
builder.Property(x => x.PackagingFeeTiersJson).HasColumnType("text");
|
||||
builder.Property(x => x.FreeDeliveryThreshold).HasPrecision(10, 2);
|
||||
builder.Property(x => x.CutleryFeeEnabled).HasDefaultValue(false);
|
||||
builder.Property(x => x.CutleryFeeAmount).HasPrecision(10, 2);
|
||||
builder.Property(x => x.RushFeeEnabled).HasDefaultValue(false);
|
||||
builder.Property(x => x.RushFeeAmount).HasPrecision(10, 2);
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId }).IsUnique();
|
||||
builder.HasIndex(x => x.TenantId);
|
||||
}
|
||||
@@ -981,9 +1005,34 @@ public sealed class TakeoutAppDbContext(
|
||||
builder.Property(x => x.PolygonGeoJson).HasColumnType("text").IsRequired();
|
||||
builder.Property(x => x.MinimumOrderAmount).HasPrecision(18, 2);
|
||||
builder.Property(x => x.DeliveryFee).HasPrecision(18, 2);
|
||||
builder.Property(x => x.Color).HasMaxLength(32);
|
||||
builder.Property(x => x.Priority).HasDefaultValue(100);
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId, x.ZoneName });
|
||||
}
|
||||
|
||||
private static void ConfigureStoreDeliverySetting(EntityTypeBuilder<StoreDeliverySetting> builder)
|
||||
{
|
||||
builder.ToTable("store_delivery_settings");
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.StoreId).IsRequired();
|
||||
builder.Property(x => x.Mode).HasConversion<int>();
|
||||
builder.Property(x => x.FreeDeliveryThreshold).HasPrecision(10, 2);
|
||||
builder.Property(x => x.MaxDeliveryDistance).HasPrecision(10, 2);
|
||||
builder.Property(x => x.RadiusTiersJson).HasColumnType("text");
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId }).IsUnique();
|
||||
}
|
||||
|
||||
private static void ConfigureStoreDineInSetting(EntityTypeBuilder<StoreDineInSetting> builder)
|
||||
{
|
||||
builder.ToTable("store_dinein_settings");
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.StoreId).IsRequired();
|
||||
builder.Property(x => x.Enabled).HasDefaultValue(true);
|
||||
builder.Property(x => x.DefaultDiningMinutes).HasDefaultValue(90);
|
||||
builder.Property(x => x.OvertimeReminderMinutes).HasDefaultValue(10);
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId }).IsUnique();
|
||||
}
|
||||
|
||||
private static void ConfigureStoreTableArea(EntityTypeBuilder<StoreTableArea> builder)
|
||||
{
|
||||
builder.ToTable("store_table_areas");
|
||||
@@ -1022,6 +1071,8 @@ public sealed class TakeoutAppDbContext(
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.StoreId).IsRequired();
|
||||
builder.Property(x => x.DefaultCutoffMinutes).HasDefaultValue(30);
|
||||
builder.Property(x => x.Mode).HasConversion<int>();
|
||||
builder.Property(x => x.FineRuleJson).HasColumnType("text");
|
||||
builder.Property(x => x.RowVersion)
|
||||
.IsConcurrencyToken();
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId }).IsUnique();
|
||||
@@ -1040,6 +1091,34 @@ public sealed class TakeoutAppDbContext(
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId, x.Name });
|
||||
}
|
||||
|
||||
private static void ConfigureStoreStaffTemplate(EntityTypeBuilder<StoreStaffTemplate> builder)
|
||||
{
|
||||
builder.ToTable("store_staff_templates");
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.StoreId).IsRequired();
|
||||
builder.Property(x => x.MorningStartTime).IsRequired();
|
||||
builder.Property(x => x.MorningEndTime).IsRequired();
|
||||
builder.Property(x => x.EveningStartTime).IsRequired();
|
||||
builder.Property(x => x.EveningEndTime).IsRequired();
|
||||
builder.Property(x => x.FullStartTime).IsRequired();
|
||||
builder.Property(x => x.FullEndTime).IsRequired();
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId }).IsUnique();
|
||||
}
|
||||
|
||||
private static void ConfigureStoreStaffWeeklySchedule(EntityTypeBuilder<StoreStaffWeeklySchedule> builder)
|
||||
{
|
||||
builder.ToTable("store_staff_weekly_schedules");
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.StoreId).IsRequired();
|
||||
builder.Property(x => x.StaffId).IsRequired();
|
||||
builder.Property(x => x.DayOfWeek).IsRequired();
|
||||
builder.Property(x => x.ShiftType).HasConversion<int>();
|
||||
builder.Property(x => x.StartTime);
|
||||
builder.Property(x => x.EndTime);
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId, x.StaffId, x.DayOfWeek }).IsUnique();
|
||||
builder.HasIndex(x => new { x.TenantId, x.StoreId, x.DayOfWeek });
|
||||
}
|
||||
|
||||
private static void ConfigureProductAttributeGroup(EntityTypeBuilder<ProductAttributeGroup> builder)
|
||||
{
|
||||
builder.ToTable("product_attribute_groups");
|
||||
|
||||
Reference in New Issue
Block a user