# EosShiftDetailDTO.java

    package cloud.wconnect.frontoffice.pojo.dto;

    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.Null;
    import jakarta.validation.constraints.Pattern;
    import lombok.Data;
    import org.hibernate.validator.constraints.Length;

    /**
     * 班次详情DTO
     *
     * @author lichen
     * @date 2025/6/18
     */
    @Data
    public class EosShiftDetailDTO {

        /**
         * 排班名称
         */
        @NotBlank(message = "the shiftName cannot be blank")
        @Length(max = 500, message = "the shiftName cannot be longer than 500 characters")
        private String shiftName;

        /**
         * 排班开始时间
         */
        @NotBlank(message = "the startTime cannot be blank")
        @Pattern(regexp = "^\\d{2}:\\d{2}$", message = "the startTime format is incorrect")
        private String startTime;

        /**
         * 排班结束时间
         */
        @NotBlank(message = "the endTime cannot be blank")
        @Pattern(regexp = "^\\d{2}:\\d{2}$", message = "the endTime format is incorrect")
        private String endTime;

        /**
         * 班次id（后端自动生成）
         */
        @Null(message = "the shift must be null")
        private Integer shift;

    }