/******************************************************************************
|
* Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
|
* All Rights Reserved.
|
* 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
|
* 不得使用、复制、修改或发布本软件.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.media.service;
|
|
import java.util.List;
|
|
import com.qxueyou.scc.admin.classes.model.ClsClass;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.base.model.Result;
|
import com.qxueyou.scc.media.model.MediaVideo;
|
import com.qxueyou.scc.media.model.MediaVideoCache;
|
import com.qxueyou.scc.media.model.MediaVideoRecord;
|
import com.qxueyou.scc.media.model.MediaVideoTrans;
|
import com.qxueyou.scc.media.model.MediaVideoViewVO;
|
import com.qxueyou.scc.media.model.VideoConverTask;
|
import com.qxueyou.scc.org.model.OrgCollegeCourse;
|
import com.qxueyou.scc.org.model.Organization;
|
|
|
/**
|
* 视频service接口
|
* @author ody.yuan
|
*
|
*/
|
public interface IMediaVideoService {
|
|
/**
|
* APP获取视频列表
|
* @param sql 查询语句
|
* @param args 参数
|
* @return
|
*/
|
List<MediaVideoViewVO> queryMediaVideoList(String sql,List<Object> args,Pager pager);
|
|
/**
|
* APP提交缓冲视频
|
*
|
* @param videoId videoId,多个以“,”分隔
|
* @return result true为成功,false时,msg为错误描述
|
*/
|
Result doSubmitCacheVideo(MediaVideoCache cache);
|
|
/**
|
* APP提交播放视频
|
*
|
* @param
|
* @return result true为成功,false时,msg为错误描述
|
*/
|
Result doSubmitPlayVideo(MediaVideoRecord mvr);
|
|
/**
|
* APP播放完视频
|
*
|
* @param
|
* @return result true为成功,false时,msg为错误描述
|
*/
|
Result doSubmitPlayFinish(MediaVideoRecord mvr);
|
|
/**
|
* 发送消息:调用本地转码服务,使用消息队列来控制
|
*
|
* @param videoId 视频ID
|
*/
|
Result doFfmpegMediaTrascode( String videoId , String videoName ) ;
|
|
|
|
/**
|
* 查询转码结果
|
* @param hql
|
* @param args
|
* @return
|
*/
|
List<MediaVideoTrans> queryTransItem(String hql,List<Object> args);
|
|
/**
|
* 得到服务器IP地址
|
* @return
|
*/
|
String getConfusionIp();
|
|
/**
|
* 修改视频
|
* @param video
|
* @return
|
*/
|
Result doSaveUpdateMedia( MediaVideo video ,String classScheduleId );
|
|
/**
|
* 查询班主任下的pc端视频列表
|
* @param hql
|
* @param args
|
* @return
|
*/
|
List<MediaVideo> queryVideoItem(String hql,List<Object> args);
|
|
/**
|
* 将视频从班主任拿到最上层机构,然后机构指定到各个层级之后,新建班级,所有视频都出现在公共课程,这里要初始化成最开始的 课程-视频 结构
|
* @param collegeCourse
|
* @return
|
*/
|
Result doInitClassOrgVideo(OrgCollegeCourse collegeCourse);
|
|
/**
|
* 初始化该科目下(班主任角色上传的视频,非指定过去的视频);视频链接:视频课程 map对象
|
* @param collegeCourse
|
* @param map
|
* @return
|
*/
|
Result doInitVideoObject(MediaVideo video);
|
|
|
/**
|
* 增加播放次数
|
* @param videoId
|
* @return
|
*/
|
boolean addPlayTimes(String videoId);
|
|
/**
|
* 编排数据
|
* @param data 需要编排的数据
|
*/
|
Result doReOrderVideo(List<String> ids, List<Integer> index);
|
|
/**
|
* 创建转码记录
|
*
|
* @param videoId
|
* @param videoName
|
*/
|
void saveMediaVideoTrans(String videoId);
|
|
|
|
/********************************************************************* 初始化数据的方法开始 ************************************************************************/
|
|
Result doInitCourseReVideoOrder(Organization org);
|
|
Result doInitClassSubject(ClsClass cls);
|
|
Result doInitSubjectClass(ClsClass cls);
|
|
Result doInitClassMediaInfo(ClsClass cls);
|
|
Result doInitOrgVideoSubject(Organization org);
|
|
Result doInitOrgVideoLeft(MediaVideo video);
|
|
Result doInitClassVideoLeft(MediaVideo video);
|
|
Result doInitClassOrgSubject(OrgCollegeCourse course);
|
|
/********************************************************************* 初始化数据的方法结束 ************************************************************************/
|
|
/**
|
* 需要转码的视频,插入转码队列记录表
|
* @param video
|
* @return
|
*/
|
Result insertVideoConverTask(MediaVideo video);
|
|
/**
|
* 统计视频的进度
|
*
|
* @param userId
|
* @param videoId
|
*/
|
void statisticCompDegree(String userId, String videoId);
|
|
/**
|
* 选择历史视频
|
*
|
* @param subjectId
|
* @param subjectName
|
* @param videoId
|
* @return
|
*/
|
Result insertChooseVideo(String subjectId, String subjectName, String videoId, String chapterId);
|
|
/**
|
* 转码队列
|
*
|
* @return
|
*/
|
List<VideoConverTask> getVideoConverTaskList();
|
|
/**
|
* 保存视频接口
|
*
|
* @param video
|
* @return
|
*/
|
Result saveVideo(MediaVideo video);
|
|
}
|