liujie
2026-09-16 a3a56121a476cd23d0f29bc391c07374dc5008f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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<ScenicMeetingPointRequest> 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<ScenicMeetingPointRequest> getMeetingPoints() { return meetingPoints; }
    public void setMeetingPoints(List<ScenicMeetingPointRequest> 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; }
}