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