package com.sinata.appointment.dto;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.Valid;
|
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotNull;
|
import java.time.LocalDate;
|
import java.util.List;
|
import lombok.Data;
|
|
@Data
|
@Schema(description = "小程序发起预约")
|
public class MiniAppointmentCreateRequest {
|
|
@NotNull(message = "被访人不能为空")
|
@Schema(description = "被访人id(mp_user.id)")
|
private Long visitedUserId;
|
|
@NotBlank(message = "拜访事由不能为空")
|
@Schema(description = "拜访事由编码(选择其他时传 OTHER)")
|
private String visitReasonCode;
|
|
@Schema(description = "拜访事由自定义内容(visitReasonCode=OTHER 时必填)")
|
private String visitReasonOther;
|
|
@NotBlank(message = "拜访时间类型不能为空")
|
@Schema(description = "拜访时间类型:SINGLE 单日 / MULTI 多日")
|
private String visitTimeMode;
|
|
@Schema(description = "单日拜访日期(visitTimeMode=SINGLE 时必填)")
|
private LocalDate visitDate;
|
|
@Schema(description = "单日时段:ALL_DAY/AM/PM(visitTimeMode=SINGLE 时必填)")
|
private String visitTimeSlot;
|
|
@Schema(description = "多日开始日期(visitTimeMode=MULTI 时必填)")
|
private LocalDate visitStartDate;
|
|
@Schema(description = "多日结束日期(visitTimeMode=MULTI 时必填)")
|
private LocalDate visitEndDate;
|
|
@Schema(description = "有人员进场(默认true)")
|
private Boolean personEntry;
|
|
@Schema(description = "来访人员id列表(mp_visitor.id)")
|
private List<Long> visitorIds;
|
|
@Schema(description = "有车辆进场(默认false)")
|
private Boolean vehicleEntry;
|
|
@Valid
|
@Schema(description = "进场车辆列表")
|
private List<MiniAppointmentVehicleItemRequest> vehicles;
|
}
|