longz
2026-07-03 ee54919d10dea640af38b8b3873710bca356d82a
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
package com.tcm.training.admin.live.dto;
 
import com.tcm.training.admin.common.xss.XssSafeHtml;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
 
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;
 
@Getter
@Setter
@NoArgsConstructor
public class HealthCourseSaveRequest {
 
    @NotBlank(message = "请输入课程名称")
    @Size(max = 128, message = "课程名称长度不能超过128个字符")
    private String title;
 
    @NotNull(message = "请选择养生主题")
    private Long levelCategoryId;
 
    @NotNull(message = "请选择难度")
    private Long difficultyCategoryId;
 
    @NotNull(message = "请选择授课专家")
    private Long expertId;
 
    @NotNull(message = "请输入课程售价")
    @DecimalMin(value = "0.00", message = "课程售价不能小于0")
    private BigDecimal salePrice;
 
    @Size(max = 500, message = "课程简介长度不能超过500个字符")
    private String summary;
 
    @Size(max = 255, message = "适用人群长度不能超过255个字符")
    private String targetUsers;
 
    @NotBlank(message = "请上传课程封面图")
    private String coverImg;
 
    @NotNull(message = "请上传课程宣传图")
    private List<String> bannerImgs;
 
    @NotBlank(message = "请输入课程介绍")
    @XssSafeHtml
    private String content;
 
    @NotNull(message = "请输入基础购买量")
    private Integer baseSalesCount;
 
    @NotNull(message = "请选择是否启用")
    private Integer status;
 
    @NotNull(message = "请选择是否首页推荐")
    private Integer isHomeRecommend;
 
    private Integer sort;
}