Browse Source

feat(course): 新增批量添加课程小节参数类

- 添加 BatchAddCourseSectionParam 类用于支持批量操作
- 包含营期ID、课程ID和视频ID列表等核心字段- 支持设置统一的开始、结束和加入时间
- 提供自动排序、起始课程序号和跳过重复视频选项
- 支持两种批量操作模式:追加和覆盖
- 使用 Swagger 注解完善接口文档描述
- 添加必要的校验注解确保数据完整性
xw 2 weeks ago
parent
commit
a43e468912

+ 54 - 0
fs-service/src/main/java/com/fs/course/param/BatchAddCourseSectionParam.java

@@ -0,0 +1,54 @@
+package com.fs.course.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalTime;
+import java.util.List;
+
+/**
+ * 批量添加课程小节参数
+ *
+ * @author fs
+ * @date 2024-12-31
+ */
+@Data
+@ApiModel(description = "批量添加课程小节参数")
+public class BatchAddCourseSectionParam {
+
+    @ApiModelProperty(value = "营期ID", required = true)
+    @NotNull(message = "营期ID不能为空")
+    private Long periodId;
+
+    @ApiModelProperty(value = "课程ID", required = true)
+    @NotNull(message = "课程ID不能为空")
+    private Long courseId;
+
+    @ApiModelProperty(value = "视频ID列表", required = true)
+    @NotEmpty(message = "视频ID列表不能为空")
+    private List<Long> videoIds;
+
+    @ApiModelProperty(value = "统一开始时间(如果设置则覆盖视频默认时间)")
+    private LocalTime startTime;
+
+    @ApiModelProperty(value = "统一结束时间(如果设置则覆盖视频默认时间)")
+    private LocalTime endDateTime;
+
+    @ApiModelProperty(value = "统一加入时间(如果设置则覆盖视频默认时间)")
+    private LocalTime joinTime;
+
+    @ApiModelProperty(value = "是否自动按视频顺序排序", example = "true")
+    private Boolean autoSort = true;
+
+    @ApiModelProperty(value = "起始课程序号(默认从现有课程数量+1开始)")
+    private Integer startLesson;
+
+    @ApiModelProperty(value = "是否跳过重复视频", example = "true")
+    private Boolean skipDuplicate = true;
+
+    @ApiModelProperty(value = "批量操作模式: 1-追加模式 2-覆盖模式", example = "1")
+    private Integer operationMode = 1;
+}