package com.usky.eg.service.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 批量远程升级中单条设备的结果（与请求 {@code items} 下标对应）。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class EgDeviceAdbRemoteUpgradeItemResultVO {

    /** 与请求体 {@code items} 数组下标一致，从 0 开始 */
    private int index;
    private String deviceCode;
    private String deviceIp;
    private String devicePort;
    /**
     * MQTT 下发时：用于路由的主题中的设备标识（与请求 deviceId 或 deviceCode 解析结果一致）。
     */
    private String mqttRouteDeviceId;
    /** MQTT 下发成功时填充 */
    private String mqttTopic;
    /** MQTT 下发成功时填充，与下行 JSON 中 {@code id} 一致 */
    private String mqttCmdId;
    private EgDeviceAdbResultVO result;

    public EgDeviceAdbRemoteUpgradeItemResultVO(int index, String deviceCode, String deviceIp, String devicePort,
                                                EgDeviceAdbResultVO result) {
        this(index, deviceCode, deviceIp, devicePort, null, null, null, result);
    }
}
