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; }
}