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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
package cn.chnmuseum.party.model;
import cn.chnmuseum.party.common.validator.groups.Add;
import cn.chnmuseum.party.common.validator.groups.Update;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* <p>
* 展板
* </p>
*
* @author Danny Lee
* @since 2021-03-17
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("exhibition_board")
@ApiModel(value = "展板内容", description = "展板内容")
public class ExhibitionBoard implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("展板内容ID")
@TableId(value = "id", type = IdType.ASSIGN_ID)
@NotNull(message = "展板ID不能为空", groups = {Update.class})
private String id;
@ApiModelProperty("展板内容名称")
@TableField("name")
@NotBlank(message = "展板名称不能为空", groups = {Add.class, Update.class})
@Length(max = 20, message = "展板名称字数不能超过20")
private String name;
/**
* 展板名称全拼音
*/
@ApiModelProperty(hidden = true)
@TableField("name_pin_yin")
private String namePinYin;
/**
* 展板名称拼音首字母
*/
@ApiModelProperty(hidden = true)
@TableField("name_first_pin_yin")
private String nameFirstPinYin;
@ApiModelProperty("展板内容编号")
@TableField(value = "serial_no")
private String serialNo;
@ApiModelProperty("展板内容版权方ID")
@TableField("board_copyright_owner_id")
private String boardCopyrightOwnerId;
@ApiModelProperty("展板内容分类ID")
@TableField("exhibition_board_cat_id")
private String exhibitionBoardCatId;
@ApiModelProperty("展板内容图片URL")
@TableField("cover")
@NotBlank(message = "展板图片URL不能为空", groups = {Add.class, Update.class})
private String cover;
@ApiModelProperty("展板内容二维码URL")
@TableField("qrcode_url")
@NotBlank(message = "展板二维码URL不能为空", groups = {Add.class, Update.class})
private String qrcodeUrl;
@ApiModelProperty("展板内容简介")
@TableField("remarks")
// @NotBlank(message = "展板简介不能为空", groups = {Add.class, Update.class})
@Length(max = 2000, message = "展板简介的字数超过最大限制2000")
private String remarks;
@ApiModelProperty("视频内容版权方ID")
@TableField("video_content_copyright_owner_id")
@NotBlank(message = "视频内容版权方ID不能为空", groups = {Add.class, Update.class})
private String videoContentCopyrightOwnerId;
@ApiModelProperty("视频内容类别ID")
@TableField("video_content_cat_id")
@NotBlank(message = "视频内容类别ID不能为空", groups = {Add.class, Update.class})
private String videoContentCatId;
@ApiModelProperty("视频内容ID")
@TableField("video_content_id")
@NotBlank(message = "视频内容ID不能为空", groups = {Add.class, Update.class})
private String videoContentId;
@ApiModelProperty("参考资料文件夹")
@TableField("ref_material_dir")
private String refMaterialDir;
@ApiModelProperty("审核状态")
@TableField("audit_status")
private String auditStatus;
@ApiModelProperty("是否上架")
@TableField("is_published")
private Boolean published;
@ApiModelProperty("是否已删除")
@TableField("is_deleted")
@TableLogic
private Boolean deleted;
@ApiModelProperty("创建日期")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private LocalDateTime createTime;
@ApiModelProperty("修改日期")
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@ApiModelProperty("展板音频文件ID列表(添加或更新使用)")
@TableField(exist = false)
private List<String> audioIdList;
@ApiModelProperty("参考资料文件ID列表(添加或更新使用)")
@TableField(exist = false)
private List<String> datumIdList;
@ApiModelProperty("展板视频缩略图")
@TableField(exist = false)
private String boardVideoContentThumbnail;
@ApiModelProperty("所属学习内容ID")
@TableField(exist = false)
private String learningContentId;
@ApiModelProperty("展板版权方名称")
@TableField(exist = false)
private String boardCopyrightOwnerName;
@ApiModelProperty("展板分类名称")
@TableField(exist = false)
private String exhibitionBoardCatName;
@ApiModelProperty("视频资料-视频内容版权方名称")
@TableField(exist = false)
private String videoContentCopyrightOwnerName;
@ApiModelProperty("视频资料-视频内容分类名称")
@TableField(exist = false)
private String videoContentCatName;
@ApiModelProperty("视频资料-视频内容名称")
@TableField(exist = false)
private String videoContentName;
@ApiModelProperty("展板视频")
@TableField(exist = false)
private List<Asset> videoList;
@ApiModelProperty("展板视频")
@TableField(exist = false)
private List<Asset> audioList;
@ApiModelProperty("参考资料列表")
@TableField(exist = false)
private List<Asset> datumList;
@ApiModelProperty("审核意见记录")
@TableField(exist = false)
private List<Audit> auditHistoryList;
@ApiModelProperty("视频语言列表")
@TableField(exist = false)
private List<Map<String, String>> videoLanguageList;
@ApiModelProperty("音频语言列表")
@TableField(exist = false)
private List<Map<String, String>> audioLanguageList;
/**
* 学习类容展板排序加的临时字段,表中不存在
*/
@TableField(exist = false)
private Integer sortorder;
}