package com.gkhy.exam.system.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonInclude; import com.gkhy.exam.common.validate.ResourceGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import org.springframework.web.multipart.MultipartFile; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; /** *
* 课程资源表 *
* * @author kzy * @since 2024-06-06 10:25:36 */ @Getter @Setter @TableName("ex_resource") @ApiModel(value = "ExResource对象", description = "课程资源表") @JsonInclude(NON_NULL) public class ExResource implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("主键") @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("账号状态(0正常,1停用,默认0)") @TableField("status") private Integer status; @ApiModelProperty("排序") @TableField("sort") private Integer sort; @NotBlank(message = "资源名称不能为空") @ApiModelProperty(value = "资源名称",required = true) @TableField("name") private String name; @NotEmpty(message = "公司id不能为空") @ApiModelProperty(value = "提交公司id",required = true) @TableField("company_id") private Long companyId; @ApiModelProperty("课程公开私有属性(0私有,1公开 默认0)") @TableField("privatize") private Integer privatize; @NotBlank(message = "资源种类不能为空") @ApiModelProperty(value = "资源种类(1:视频2:音频;3:文档)",required = true) @TableField("resource_type") private Integer resourceType; @NotBlank(message = "资源类型不能为空") @ApiModelProperty(value = "资源类型(文件media-type属性)",required = true) @TableField("media_type") private String mediaType; @ApiModelProperty("资源大小(比特)") @TableField("resource_size") private Long resourceSize; @ApiModelProperty("资源地址") @TableField("resource_uri") private String resourceUri; @ApiModelProperty("资源时长(秒)") @TableField("resource_length") private Long resourceLength; @ApiModelProperty("资源vid") @TableField("video_vid") private String videoVid; @ApiModelProperty("资源页数,单位页") @TableField("doc_page") private Integer docPage; @ApiModelProperty("创建时间") @TableField("create_time") private LocalDateTime createTime; @ApiModelProperty("创建人") @TableField("create_by") private String createBy; @ApiModelProperty("更新时间") @TableField("update_time") private LocalDateTime updateTime; @ApiModelProperty("更新人") @TableField("update_by") private String updateBy; @ApiModelProperty("备注") @TableField("remark") private String remark; @ApiModelProperty("乐观锁") @TableField("version") private Integer version; @NotNull(message = "上传对象不能为空",groups = {ResourceGroup.class}) @ApiModelProperty(value = "上传对象",required = true) @TableField(exist = false) private MultipartFile file; }