package org.wcs.model.dto.pub;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 添加电子标签任务参数
 */
@Getter
@Setter
public class AddEtagTaskReq {

    /**
     * 任务组
     */
    @JsonProperty("taskGroup")
    private String taskGroup;

    /**
     * 任务类型
     */
    @NotNull(message = "任务类型不能为空")
    @JsonProperty("taskType")
    private Integer taskType;

    /**
     * 载具号
     */
    @NotBlank(message = "载具号不能为空")
    @JsonProperty("vehicleNo")
    private String vehicleNo;

    /**
     * 点亮模式
     */
    @NotNull(message = "点亮模式不能为空")
    @JsonProperty("lightModel")
    private Integer lightModel;

    /**
     * 系统名称
     */
    @NotBlank(message = "系统名称不能为空")
    @JsonProperty("sysName")
    private String sysName;

    /**
     * 任务列表
     */
    @Valid
    @JsonProperty("taskItemList")
    @Size(min = 1, message = "任务列表不能为空")
    @NotNull(message = "任务列表不能为空")
    private List<EtagTaskItem> taskItemList;

}
