package cn.iocoder.yudao.module.knowledge.controller.requestdto;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.knowledge.validated.EditGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;


/**
 * 课程表查询
 *
 * @author admin
 * @since 1.0.0 2024-04-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "课程表查询")
public class TCourseRequest extends PageParam {
    @Schema(description = "主键")
    @NotNull(message = "id不能为空", groups = EditGroup.class)
    private Long id;

    @NotNull(message = "courseDirectoryId不能为空")
    @Schema(description = "课程目录表主键", example = "1")
    private Long courseDirectoryId;

    @Schema(description = "课程目录名称", example = "数学")
    private String courseDirectoryName;

    @NotBlank(message = "课程名称不能为空")
    @NotBlank(message = "课程名称不能为空")
    @Schema(description = "课程名称", example = "数学")
    private String name;

    @Schema(description = "课程说明", example = "erwef")
    private String desrc;

    @Valid
    @Schema(description = "课件, 新增修改时需要", example = "1")
    private List<TCoursewareRequest> coursewares;

    private List<Long> courseDirectoryIdList;
}
