feat: 门店员工与排班管理上线

This commit is contained in:
2025-12-04 09:32:03 +08:00
parent 1a5209a8b1
commit 19422df0f1
31 changed files with 1265 additions and 7 deletions

View File

@@ -0,0 +1,65 @@
using System.Text.Json.Serialization;
using TakeoutSaaS.Domain.Merchants.Enums;
using TakeoutSaaS.Shared.Abstractions.Serialization;
namespace TakeoutSaaS.Application.App.Stores.Dto;
/// <summary>
/// 员工排班 DTO。
/// </summary>
public sealed record StoreEmployeeShiftDto
{
/// <summary>
/// 排班 ID。
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long Id { get; init; }
/// <summary>
/// 租户 ID。
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long TenantId { get; init; }
/// <summary>
/// 门店 ID。
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long StoreId { get; init; }
/// <summary>
/// 员工 ID。
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long StaffId { get; init; }
/// <summary>
/// 班次日期。
/// </summary>
public DateTime ShiftDate { get; init; }
/// <summary>
/// 开始时间。
/// </summary>
public TimeSpan StartTime { get; init; }
/// <summary>
/// 结束时间。
/// </summary>
public TimeSpan EndTime { get; init; }
/// <summary>
/// 排班角色。
/// </summary>
public StaffRoleType RoleType { get; init; }
/// <summary>
/// 备注。
/// </summary>
public string? Notes { get; init; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreatedAt { get; init; }
}