package com.sinata.appointment.dto; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import java.time.LocalDate; import java.util.List; import lombok.Data; @Data @Schema(description = "创建预约单") public class AppointmentCreateRequest { @NotNull @Schema(description = "访问类型 VISITOR / VEHICLE") private String visitType; @NotNull @Schema(description = "被访人用户 id") private Long visitedUserId; @NotNull @Schema(description = "被访人所属部门 id(用于审批二级节点匹配部门负责人)") private Long visitedDeptId; @Schema(description = "来访事由编码") private String visitReasonCode; @Schema(description = "来访单位") private String visitorOrg; @NotNull @Schema(description = "拜访开始") private LocalDate visitStartDate; @NotNull @Schema(description = "拜访结束") private LocalDate visitEndDate; @Schema(description = "是否节假日访问") private Boolean holidayFlag; @Schema(description = "提交人用户ID(mp_user.id)") private Long submitterId; @NotEmpty @Valid @Schema(description = "访客列表") private List visitors; }