#region << 版 本 注 释 >>

/*--------------------------------------------------------------------
* 版权所有 (c) 2026 WenJY 保留所有权利。
* CLR版本：4.0.30319.42000
* 机器名称：Mr.Wen's MacBook Pro
* 命名空间：Sln.IntelliBelt.Model
* 唯一标识：DDC3E355-A24A-4911-B049-4551B1F6A0C2
*
* 创建者：WenJY
* 电子邮箱：
* 创建时间：2026-04-27 17:21:15
* 版本：V1.0.0
* 描述：
*
*--------------------------------------------------------------------
* 修改人：
* 时间：
* 修改说明：
*
* 版本：V1.0.0
*--------------------------------------------------------------------*/

#endregion << 版 本 注 释 >>

using System.Text.Json.Serialization;

namespace Sln.IntelliBelt.Model;

/// <summary>
/// 读写器命令实体
/// </summary>
public class ReaderCommand
{
    public ReaderCommand()
    {
        paramInfo = new ReaderParamInfo();
    }
    /// <summary>
    /// 客户端标识符
    /// </summary>
    [JsonPropertyName("clientId")]
    public string clientId { get; set; }

    /// <summary>
    /// 终端地址
    /// </summary>
    [JsonPropertyName("terminalAddr")]
    public string terminalAddr { get; set; }

    /// <summary>
    /// 指令识别码
    /// </summary>
    [JsonPropertyName("identCode")]
    public int identCode { get; set; }

    /// <summary>
    /// 对象类型
    /// </summary>
    [JsonPropertyName("objType")]
    public int objType { get; set; }

    /// <summary>
    /// 内容数据（原始字符串）
    /// </summary>
    [JsonPropertyName("content")]
    public string content { get; set; }

    /// <summary>
    /// 读写器参数列表
    /// </summary>
    [JsonPropertyName("readerParam")] 
    public ReaderParamInfo paramInfo { get; set; }
}

/// <summary>
/// 读写器参数信息
/// </summary>
public class ReaderParamInfo
{
    /// <summary>
    /// 读写器版本
    /// </summary>
    [JsonPropertyName("readerVersion")]
    public string readerVersion { get; set; }

    /// <summary>
    /// 读写器温度
    /// </summary>
    [JsonPropertyName("readerTemp")]
    public int readerTemp { get; set; }

    /// <summary>
    /// 天线功率配置列表
    /// </summary>
    [JsonPropertyName("antPowers")]
    public List<AntPowerInfo> antPowers = new List<AntPowerInfo>();
}

/// <summary>
/// 天线功率信息
/// </summary>
public class AntPowerInfo
{
    /// <summary>
    /// 天线编号
    /// </summary>
    [JsonPropertyName("ant")]
    public int ant { get; set; }

    /// <summary>
    /// 读取功率
    /// </summary>
    [JsonPropertyName("readPower")]
    public int readPower { get; set; }

    /// <summary>
    /// 写入功率
    /// </summary>
    [JsonPropertyName("writePower")]
    public int writePower { get; set; }
}