package com.qxueyou.scc.media.model; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.GenericGenerator; import org.springframework.format.annotation.DateTimeFormat; import com.qxueyou.scc.base.model.ITrace; /** * 视频表 实体 * @author ody.yuan * */ @Entity @Table(name="MEDIA_VIDEO") @NamedQuery(name="MediaVideo.findAll", query="SELECT m FROM MediaVideo m") public class MediaVideo implements Serializable, ITrace { private static final long serialVersionUID = -1143123781656219900L; public static final String MEDIA_VIDEO="video"; public static final String MEDIA_AUDIO="audio"; /** 主键 */ @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @Column(name="VIDEO_ID", unique=true, nullable=false, length=32) private String videoId; /** 创建者ID */ @Column(name="CREATE_ID", nullable=false, length=32) private String createId; /** 创建时间 */ @Column(name="CREATE_TIME", nullable=false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** 创建人 */ @Column(name="CREATOR", nullable=false, length=100) private String creator; /** 删除标志 */ @Column(name="DELETE_FLAG", nullable=false) private boolean deleteFlag; /** 修改人ID */ @Column(name="UPDATE_ID", length=32) private String updateId; /** 修改时间 */ @Column(name="UPDATE_TIME", nullable=false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** 修改人 */ @Column(name="UPDATOR", length=100) private String updator; /** 名称 */ @Column(name="NAME", length=128) private String name; /** 状态 */ @Column(name="STATUS") private short status; /* * 草稿 */ public static final short STATUS_DRAFT = 0; /* * 转码中 */ public static final short STATUS_TRANSFORMING = 1; /* * 已发布 */ public static final short STATUS_PUBLISHED = 2; /* * 已下架 */ public static final short STATUS_TAKEOFF = 3; /* * 转码失败 */ public static final short STATUS_TRANSFAILED = 4; /* * 排队中 */ public static final short STATUS_LINEUP = 5; /** url */ @Column(name="URL", length=2048) private String url; /** 原始url */ @Column(name="ORIG_URL", length=2048) private String origUrl; /** 视频托管供应商 */ @Column(name="VIDEO_VENDER", length=50) private String videoVender; /** 视频在托管商的唯一编码 */ @Column(name="VIDEO_CODE", length=128) private String videoCode; /** 视频提交人ID */ @Column(name="SUBMITOR_ID", nullable=false, length=32) private String submitorId; /** 视频提交人 */ @Column(name="SUBMITOR", length=100) private String submitor; /** 视频大小,单位KB */ @Column(name="SIZE") private int size; /** 时长 */ @Column(name="PLAY_TIME") private int playTime; /** 原始宽度 */ @Column(name="VIDEO_ORIG_WIDTH") private int videoOrigWidth; /** 原始高度 */ @Column(name="VIDEO_ORIG_HEIGHT") private int videoOrigHeight; /** 视频格式: AVI,MP4... */ @Column(name="FORMAT",length=32) private String format; /** 封面图片URL */ @Column(name="COVER_PAGE_URL",length=218) private String coverPageUrl; /** 播放次数 */ @Column(name="PLAY_TIMES") private Integer playTimes; /** 备注详情 */ @Column(name="REMARK", length=16777215) private String remark; /** MP4 高清,安卓使用 */ @Column(name="ANDROID_HD") private String androidHD; /** MP4 标清,安卓使用 */ @Column(name="ANDROID_SD") private String androidSD; /** MP4 流畅,安卓使用 */ @Column(name="ANDROID_LD") private String androidLD; /** M3U8 高清,IOS使用 */ @Column(name="IOS_HD") private String iosHD; /** M3U8 标清,IOS使用 */ @Column(name="IOS_SD") private String iosSD; /** M3U8 流畅,IOS使用 */ @Column(name="IOS_LD") private String iosLD; /** 班级ID */ @Column(name="CLASS_ID", length=32) private String classId; /** 讲师 */ @Column(name="TEACHER_NAME", length=32) private String teacherName; /** 视频原始ID */ @Column(name="ORIGIN_VIDEO_ID", length=32) private String originVideoId; /** 资源ID 高清 */ @Column(name="OBJECT_HD") private String objectHd; /** 资源ID 标清 */ @Column(name="OBJECT_SD") private String objectSd; /** 资源ID 流畅 */ @Column(name="OBJECT_LD") private String objectLd; /** 课程ID */ @Column(name="SUBJECT_ID", length=32) private String subjectId; /** 科目ID */ @Column(name="COLLEGE_COURSE_ID", length=32) private String collegeCourseId; /** 课程名称 */ @Column(name="SUBJECT_NAME", length=150) private String subjectName; /** 视频管理 视频管理 班主任排序字段 */ @Column(name="VIDEO_ORDER") private Integer videoOrder; /** 有效期开始日期*/ @Column(name="START_TIME") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date startTime; /** 有效期结束日期 */ @Column(name="END_TIME") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date endTime; /** 有效期 */ @Column(name="VALIDITY", length=32) private String validity; /** 密钥 */ @Column(name="SECRET_KEY") private String secretKey; /** md5 */ @Column(name="md5") private String md5; /** md5 */ @Column(name="mp4_hd_md5") private String mp4HdMd5; /** md5 */ @Column(name="mp4_sd_md5") private String mp4SdMd5; /** md5 */ @Column(name="mp4_ld_md5") private String mp4LdMd5; /** M3U8解密文件key的OSS键 */ @Column(name="m3u8_key_path") private String m3u8KeyPath; @Column(name="CHAPTER_ID") private String chapterId; @Transient private String classScheduleId ; /*自定义名称*/ @Transient private String definedName; @Transient private String classScheduleName ; //视频来源(直播) @Transient private String videoSource; //课件学分 @Transient private BigDecimal score; /** 类型:视频,音频 */ private String type; public String getType() { return type; } public void setType(String type) { this.type = type; } public BigDecimal getScore() { return score; } public void setScore(BigDecimal score) { this.score = score; } public String getDefinedName() { return definedName; } public void setDefinedName(String definedName) { this.definedName = definedName; } public String getVideoSource() { return videoSource; } public void setVideoSource(String videoSource) { this.videoSource = videoSource; } public String getChapterId() { return chapterId; } public void setChapterId(String chapterId) { this.chapterId = chapterId; } public String getMd5() { return md5; } public void setMd5(String md5) { this.md5 = md5; } public String getVideoId() { return videoId; } public void setVideoId(String videoId) { this.videoId = videoId; } public String getCreateId() { return createId; } public void setCreateId(String createId) { this.createId = createId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getCreator() { return creator; } public void setCreator(String creator) { this.creator = creator; } @Override public boolean getDeleteFlag() { return deleteFlag; } public void setDeleteFlag(boolean deleteFlag) { this.deleteFlag = deleteFlag; } public String getUpdateId() { return updateId; } public void setUpdateId(String updateId) { this.updateId = updateId; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public String getUpdator() { return updator; } public void setUpdator(String updator) { this.updator = updator; } public String getName() { return name; } public void setName(String name) { this.name = name; } public short getStatus() { return status; } public void setStatus(short status) { this.status = status; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getVideoVender() { return videoVender; } public void setVideoVender(String videoVender) { this.videoVender = videoVender; } public String getVideoCode() { return videoCode; } public void setVideoCode(String videoCode) { this.videoCode = videoCode; } public String getSubmitorId() { return submitorId; } public void setSubmitorId(String submitorId) { this.submitorId = submitorId; } public String getSubmitor() { return submitor; } public void setSubmitor(String submitor) { this.submitor = submitor; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } public int getVideoOrigWidth() { return videoOrigWidth; } public void setVideoOrigWidth(int videoOrigWidth) { this.videoOrigWidth = videoOrigWidth; } public int getVideoOrigHeight() { return videoOrigHeight; } public void setVideoOrigHeight(int videoOrigHeight) { this.videoOrigHeight = videoOrigHeight; } public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } public String getCoverPageUrl() { return coverPageUrl; } public void setCoverPageUrl(String coverPageUrl) { this.coverPageUrl = coverPageUrl; } public String getOrigUrl() { return origUrl; } public void setOrigUrl(String origUrl) { this.origUrl = origUrl; } public int getPlayTime() { return playTime; } public void setPlayTime(int playTime) { this.playTime = playTime; } public String getPlayTimeFormat() { int hours = playTime/3600; int minutes = (playTime%3600)/60; int seconds = playTime%60; StringBuffer sb = new StringBuffer(); if(hours>0){ sb.append(String.valueOf(hours)).append('时'); } if(minutes>0){ sb.append(String.valueOf(minutes)).append('分'); } sb.append(String.valueOf(seconds)).append('秒'); return sb.toString(); } public Integer getPlayTimes() { return playTimes; } public void setPlayTimes(Integer playTimes) { this.playTimes = playTimes; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getAndroidHD() { return androidHD; } public void setAndroidHD(String androidHD) { this.androidHD = androidHD; } public String getAndroidSD() { return androidSD; } public void setAndroidSD(String androidSD) { this.androidSD = androidSD; } public String getAndroidLD() { return androidLD; } public void setAndroidLD(String androidLD) { this.androidLD = androidLD; } public String getIosHD() { return iosHD; } public void setIosHD(String iosHD) { this.iosHD = iosHD; } public String getIosSD() { return iosSD; } public void setIosSD(String iosSD) { this.iosSD = iosSD; } public String getIosLD() { return iosLD; } public void setIosLD(String iosLD) { this.iosLD = iosLD; } public String getClassId() { return classId; } public void setClassId(String classId) { this.classId = classId; } public String getTeacherName() { return teacherName; } public void setTeacherName(String teacherName) { this.teacherName = teacherName; } public String getOriginVideoId() { return originVideoId; } public void setOriginVideoId(String originVideoId) { this.originVideoId = originVideoId; } public String getClassScheduleId() { return classScheduleId; } public void setClassScheduleId(String classScheduleId) { this.classScheduleId = classScheduleId; } public String getClassScheduleName() { return classScheduleName; } public void setClassScheduleName(String classScheduleName) { this.classScheduleName = classScheduleName; } public String getObjectHd() { return objectHd; } public void setObjectHd(String objectHd) { this.objectHd = objectHd; } public String getObjectSd() { return objectSd; } public void setObjectSd(String objectSd) { this.objectSd = objectSd; } public String getObjectLd() { return objectLd; } public void setObjectLd(String objectLd) { this.objectLd = objectLd; } public String getSubjectId() { return subjectId; } public void setSubjectId(String subjectId) { this.subjectId = subjectId; } public String getSubjectName() { return subjectName; } public void setSubjectName(String subjectName) { this.subjectName = subjectName; } public Integer getVideoOrder() { return videoOrder; } public void setVideoOrder(Integer videoOrder) { this.videoOrder = videoOrder; } public String getCollegeCourseId() { return collegeCourseId; } public void setCollegeCourseId(String collegeCourseId) { this.collegeCourseId = collegeCourseId; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public String getValidity() { return validity; } public void setValidity(String validity) { this.validity = validity; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public String getSecretKey() { return secretKey; } public void setSecretKey(String secretKey) { this.secretKey = secretKey; } public String getMp4HdMd5() { return mp4HdMd5; } public void setMp4HdMd5(String mp4HdMd5) { this.mp4HdMd5 = mp4HdMd5; } public String getMp4SdMd5() { return mp4SdMd5; } public void setMp4SdMd5(String mp4SdMd5) { this.mp4SdMd5 = mp4SdMd5; } public String getMp4LdMd5() { return mp4LdMd5; } public void setMp4LdMd5(String mp4LdMd5) { this.mp4LdMd5 = mp4LdMd5; } public String getM3u8KeyPath() { return m3u8KeyPath; } public void setM3u8KeyPath(String m3u8KeyPath) { this.m3u8KeyPath = m3u8KeyPath; } }