package com.multictrl.modules.business.q20.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * Q20航线任务 - 执行航线DTO（route_execute）
 *
 * @author 938693313@qq.com
 * @since 1.0.0 2026/5/20
 */
@Data
@Schema(description = "执行航线请求体（route_execute）")
public class Q20RouteExecuteDTO {

    @Schema(description = "执行模式：1=执行最近一次上传航线，2=执行指定route_id的航线")
    private int mode;

    @Schema(description = "航线ID，mode=2时有效；mode=1时为空字符串")
    @JsonProperty("route_id")
    @JsonSetter(nulls = Nulls.AS_EMPTY)
    private String routeId = "";

    @Schema(description = "是否指定机库：0=未设置，1=已设置")
    @JsonProperty("specific_dock")
    private int specificDock;

    @Schema(description = "机库信息列表，空时为空数组[]")
    @JsonProperty("dock_info")
    @JsonSetter(nulls = Nulls.AS_EMPTY)
    private List<Q20DockInfoItemDTO> dockInfo = new ArrayList<>();
}
