package com.multictrl.modules.business.dto.remote.debug;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * eSIM 和 SIM 切换参数
 *
 * @author Sdy
 * @since 1.0.0 2026/5/20
 */
@Data
@Schema(description = "eSIM和SIM切换参数")
public class SIMSlotSwitch {

    @NotBlank(message = "dongle imei不能为空")
    @Schema(description = "dongle imei", example = "123456789012345")
    private String imei;

    @NotBlank(message = "目标设备类型不能为空")
    @Schema(description = "目标设备类型 {dock:设置机场 Dongle,drone:设置飞行器 Dongle}", example = "dock", allowableValues = {"dock", "drone"})
    private String deviceType;

    @NotBlank(message = "切换的目标卡槽不能为空")
    @Min(value = 1, message = "切换的目标卡槽类型错误")
    @Max(value = 2, message = "切换的目标卡槽类型错误")
    @Schema(description = "切换的目标卡槽 {1:实体 SIM 卡,2:eSIM}", example = "1", allowableValues = {"1", "2"})
    private Integer simSlot;
}
