package com.tourguide.modules.operation.dto; import javax.validation.Valid; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import java.util.List; /** 景区详情聚合保存请求。 */ public class ScenicSpotDetailSaveRequest { @NotBlank(message = "景区编号不能为空") @Size(max = 32, message = "景区编号不能超过32个字符") @Pattern(regexp = "[A-Za-z0-9_-]+", message = "景区编号仅支持字母、数字、下划线和短横线") private String scenicCode; @NotBlank(message = "景区名称不能为空") @Size(max = 128, message = "景区名称不能超过128个字符") private String scenicName; @Size(max = 16, message = "景区等级不能超过16个字符") private String grade; @NotNull(message = "所属城市不能为空") private Long cityId; @Valid @NotNull(message = "拼团快讲配置不能为空") private ScenicPriceConfigRequest groupFast; @Valid @NotNull(message = "拼团精讲配置不能为空") private ScenicPriceConfigRequest groupPremium; @Valid @NotNull(message = "包团快讲配置不能为空") private ScenicPriceConfigRequest privateFast; @Valid @NotNull(message = "包团精讲配置不能为空") private ScenicPriceConfigRequest privatePremium; @Valid private List meetingPoints; @NotNull(message = "第一单提前讲解时间不能为空") @Min(value = 1, message = "第一单提前讲解时间不能小于1分钟") @Max(value = 1440, message = "第一单提前讲解时间不能超过1440分钟") private Integer firstOrderLeadMinutes; @NotNull(message = "游客无法下单时间不能为空") @Min(value = 1, message = "游客无法下单时间不能小于1分钟") @Max(value = 1440, message = "游客无法下单时间不能超过1440分钟") private Integer visitorNoOrderMinutes; @NotNull(message = "未支付自动取消时间不能为空") @Min(value = 1, message = "未支付自动取消时间不能小于1分钟") @Max(value = 1440, message = "未支付自动取消时间不能超过1440分钟") private Integer unpaidCancelMinutes; public String getScenicCode() { return scenicCode; } public void setScenicCode(String value) { this.scenicCode = value; } public String getScenicName() { return scenicName; } public void setScenicName(String value) { this.scenicName = value; } public String getGrade() { return grade; } public void setGrade(String value) { this.grade = value; } public Long getCityId() { return cityId; } public void setCityId(Long value) { this.cityId = value; } public ScenicPriceConfigRequest getGroupFast() { return groupFast; } public void setGroupFast(ScenicPriceConfigRequest value) { this.groupFast = value; } public ScenicPriceConfigRequest getGroupPremium() { return groupPremium; } public void setGroupPremium(ScenicPriceConfigRequest value) { this.groupPremium = value; } public ScenicPriceConfigRequest getPrivateFast() { return privateFast; } public void setPrivateFast(ScenicPriceConfigRequest value) { this.privateFast = value; } public ScenicPriceConfigRequest getPrivatePremium() { return privatePremium; } public void setPrivatePremium(ScenicPriceConfigRequest value) { this.privatePremium = value; } public List getMeetingPoints() { return meetingPoints; } public void setMeetingPoints(List value) { this.meetingPoints = value; } public Integer getFirstOrderLeadMinutes() { return firstOrderLeadMinutes; } public void setFirstOrderLeadMinutes(Integer value) { this.firstOrderLeadMinutes = value; } public Integer getVisitorNoOrderMinutes() { return visitorNoOrderMinutes; } public void setVisitorNoOrderMinutes(Integer value) { this.visitorNoOrderMinutes = value; } public Integer getUnpaidCancelMinutes() { return unpaidCancelMinutes; } public void setUnpaidCancelMinutes(Integer value) { this.unpaidCancelMinutes = value; } }