using System.Text.Json.Serialization; using TakeoutSaaS.Shared.Abstractions.Serialization; namespace TakeoutSaaS.Application.App.Merchants.Dto; /// /// 商户变更日志 DTO。 /// public sealed class MerchantChangeLogDto { /// /// 日志 ID。 /// [JsonConverter(typeof(SnowflakeIdJsonConverter))] public long Id { get; init; } /// /// 变更字段。 /// public string FieldName { get; init; } = string.Empty; /// /// 变更前值。 /// public string? OldValue { get; init; } /// /// 变更后值。 /// public string? NewValue { get; init; } /// /// 变更人 ID。 /// [JsonConverter(typeof(NullableSnowflakeIdJsonConverter))] public long? ChangedBy { get; init; } /// /// 变更人名称。 /// public string? ChangedByName { get; init; } /// /// 变更时间。 /// public DateTime ChangedAt { get; init; } /// /// 变更原因。 /// public string? ChangeReason { get; init; } }