package com.yonge.cooleshow.biz.dal.entity;

import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;

import io.swagger.annotations.ApiModelProperty;

/**
 * 对应数据库表(video_lesson_group_log):
 */
public class VideoLessonGroupLog {

	@ApiModelProperty(value = "主键",required = false)
	private Long id;
	
	private Long videoLessonGroupId;
	
	@ApiModelProperty(value = "课程名称",required = false)
	private String lessonName;
	
	@ApiModelProperty(value = "课程声部",required = false)
	private String lessonSubject;
	
	@ApiModelProperty(value = "课程介绍",required = false)
	private String lessonDesc;
	
	@ApiModelProperty(value = "课程价格",required = false)
	private java.math.BigDecimal lessonPrice;
	
	@ApiModelProperty(value = "课程封面图片URL",required = false)
	private String lessonCoverUrl;
	
	@ApiModelProperty(value = "老师ID",required = false)
	private Long teacherId;
	
	@ApiModelProperty(value = "课程节数",required = false)
	private Integer lessonCount;
	
	@ApiModelProperty(value = "排序号",required = false)
	private Integer sortNumber;
	
	@ApiModelProperty(value = "课程标签",required = false)
	private String lessonTag;
	
	@ApiModelProperty(value = "是否置顶",required = false)
	private boolean topFlag;
	
	@ApiModelProperty(value = "是否热门课程",required = false)
	private boolean hotFlag;
	
	@ApiModelProperty(value = "是否上架 （0:否  1：是）",required = false)
	private Integer shelvesFlag;
	
	@ApiModelProperty(value = "上下架时间",required = false)
	private java.util.Date shelvesTime;
	
	@ApiModelProperty(value = "上下架原因",required = false)
	private String shelvesReason;
	
	@ApiModelProperty(value = "上下架人",required = false)
	private Long shelvesId;
	
	@ApiModelProperty(value = "修改人id",required = false)
	private Long modifierId;
	
	@ApiModelProperty(value = "备注",required = false)
	private String remarks;
	
	@ApiModelProperty(value = "是否审核时可见 （0:否  1：是）",required = false)
	private Integer auditVersion;
	
	@ApiModelProperty(value = "创建时间",required = false)
	private java.util.Date createTime;
	
	@ApiModelProperty(value = "更新时间",required = false)
	private java.util.Date updateTime;
	
	private Long version;
	
	@ApiModelProperty(value = "视频课明细json串",required = false)
	private String videoDetailJson;
	
    private List<VideoLessonGroupDetail> videoList;
	
	public VideoLessonGroupLog setId(Long id){
		this.id = id;
		return this;
	}
	
	public Long getVideoLessonGroupId() {
		return videoLessonGroupId;
	}

	public void setVideoLessonGroupId(Long videoLessonGroupId) {
		this.videoLessonGroupId = videoLessonGroupId;
	}

	public Long getId(){
		return this.id;
	}
			
	public VideoLessonGroupLog setLessonName(String lessonName){
		this.lessonName = lessonName;
		return this;
	}
	
	public String getLessonName(){
		return this.lessonName;
	}
			
	public VideoLessonGroupLog setLessonSubject(String lessonSubject){
		this.lessonSubject = lessonSubject;
		return this;
	}
	
	public String getLessonSubject(){
		return this.lessonSubject;
	}
			
	public VideoLessonGroupLog setLessonDesc(String lessonDesc){
		this.lessonDesc = lessonDesc;
		return this;
	}
	
	public String getLessonDesc(){
		return this.lessonDesc;
	}
			
	public VideoLessonGroupLog setLessonPrice(java.math.BigDecimal lessonPrice){
		this.lessonPrice = lessonPrice;
		return this;
	}
	
	public java.math.BigDecimal getLessonPrice(){
		return this.lessonPrice;
	}
			
	public VideoLessonGroupLog setLessonCoverUrl(String lessonCoverUrl){
		this.lessonCoverUrl = lessonCoverUrl;
		return this;
	}
	
	public String getLessonCoverUrl(){
		return this.lessonCoverUrl;
	}
			
	public VideoLessonGroupLog setTeacherId(Long teacherId){
		this.teacherId = teacherId;
		return this;
	}
	
	public Long getTeacherId(){
		return this.teacherId;
	}
			
	public VideoLessonGroupLog setLessonCount(Integer lessonCount){
		this.lessonCount = lessonCount;
		return this;
	}
	
	public Integer getLessonCount(){
		return this.lessonCount;
	}
			
	public VideoLessonGroupLog setSortNumber(Integer sortNumber){
		this.sortNumber = sortNumber;
		return this;
	}
	
	public Integer getSortNumber(){
		return this.sortNumber;
	}
			
	public VideoLessonGroupLog setLessonTag(String lessonTag){
		this.lessonTag = lessonTag;
		return this;
	}
	
	public String getLessonTag(){
		return this.lessonTag;
	}
			
	public VideoLessonGroupLog setTopFlag(boolean topFlag){
		this.topFlag = topFlag;
		return this;
	}
	
	public boolean isTopFlag(){
		return this.topFlag;
	}
			
	public VideoLessonGroupLog setHotFlag(boolean hotFlag){
		this.hotFlag = hotFlag;
		return this;
	}
	
	public boolean isHotFlag(){
		return this.hotFlag;
	}
			
	public VideoLessonGroupLog setShelvesFlag(Integer shelvesFlag){
		this.shelvesFlag = shelvesFlag;
		return this;
	}
	
	public Integer getShelvesFlag(){
		return this.shelvesFlag;
	}
			
	public VideoLessonGroupLog setShelvesTime(java.util.Date shelvesTime){
		this.shelvesTime = shelvesTime;
		return this;
	}
	
	public java.util.Date getShelvesTime(){
		return this.shelvesTime;
	}
			
	public VideoLessonGroupLog setShelvesReason(String shelvesReason){
		this.shelvesReason = shelvesReason;
		return this;
	}
	
	public String getShelvesReason(){
		return this.shelvesReason;
	}
			
	public VideoLessonGroupLog setShelvesId(Long shelvesId){
		this.shelvesId = shelvesId;
		return this;
	}
	
	public Long getShelvesId(){
		return this.shelvesId;
	}
			
	public Long getModifierId() {
		return modifierId;
	}

	public void setModifierId(Long modifierId) {
		this.modifierId = modifierId;
	}

	public VideoLessonGroupLog setRemarks(String remarks){
		this.remarks = remarks;
		return this;
	}
	
	public String getRemarks(){
		return this.remarks;
	}
			
	public VideoLessonGroupLog setAuditVersion(Integer auditVersion){
		this.auditVersion = auditVersion;
		return this;
	}
	
	public Integer getAuditVersion(){
		return this.auditVersion;
	}
			
	public VideoLessonGroupLog setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
		return this;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}
			
	public VideoLessonGroupLog setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
		return this;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}
			
	public Long getVersion() {
		return version;
	}

	public void setVersion(Long version) {
		this.version = version;
	}

	public String getVideoDetailJson() {
		return videoDetailJson;
	}

	public void setVideoDetailJson(String videoDetailJson) {
		this.videoDetailJson = videoDetailJson;
	}

	public List<VideoLessonGroupDetail> getVideoList() {
		return videoList;
	}

	public void setVideoList(List<VideoLessonGroupDetail> videoList) {
		this.videoList = videoList;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
