package com.qxueyou.scc.school.service; import java.io.File; import java.lang.reflect.InvocationTargetException; import java.util.List; import java.util.Map; import com.qxueyou.scc.base.model.Pager; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.school.model.SchHandout; import com.qxueyou.scc.school.model.SchHandoutPage; import com.qxueyou.scc.school.model.SchHandoutPageFavor; import com.qxueyou.scc.school.model.SchHandoutRecord; public interface IHandoutService { /** * 新增讲义 * @param file 讲义文件 * @param handout 讲义vo对象 * @return 新增结果 */ Result insertHandout(String fullPath, String module,SchHandout handout); /** * 机构新增讲义 * @param file 讲义文件 * @param handout 讲义vo对象 * @return 新增结果 */ Result insertOrgHandout(String fullPath, String module,SchHandout handout,String collegeCourseId); /** * 编辑讲义 * @param handoutId * @param handoutName * @param subjectId * @param subjectName * @return */ Result doEditHandout(SchHandout handout,String type); /** * 批量删除讲义 * @param handoutIds 讲义id的数组 * @return 操作结果 */ Result deleteHandouts(String[] handoutIds); /** * 批量删除机构讲义 * @param handoutIds * @param delAll * @param orgIds * @param classIds * @return */ Result deleteOrgHandouts(String[] handoutIds, Integer delAll, String orgIds[], String classIds[]); /** * 批量启动讲义 * @param handoutIds 讲义id的数组 * @return 操作结果 */ Result doStartHandouts(String handoutIds); /** * 批量停止讲义 * @param handoutIds 讲义id的数组 * @return 操作结果 */ Result doStopHandouts(String[] handoutIds); /** * 插入历史讲义 * @param handout * @param oldHandoutId * @return */ Result insertChooseHandout(SchHandout handout,String oldHandoutId); /** * 查询讲义列表 * @param hql * @param args * @return */ List schHandoutList(int type,final String hql, final Pager page, final List args); /** * 批量操作讲义收藏记录 * @param lstFavor * @return */ Result doOperHandoutFavorDataBatch(List lstFavor); /** * 后台获取列表数据 * @param sql * @param args * @return */ List queryDataList(String sql,List args); /** * 查询选择班级下历史讲义 * @param hql * @param args * @return */ List queryChooseHandoutList(String sql, List args); /** * 使用jacob另存为图片,需要测试多个请求同时调用情况 * 1.office2013报错,但是用office2013另存為效果最好 * 2.office2007解析不完美,字体偏粗,边上有较明显锯齿,可以用jacob調用 * 3.office2010解析基本正常,但是较于office2013,大字体和边框会有非常少量锯齿(推荐使用) * * info:服务器推荐使用office2010,jacob.jar包更新后如果支持office2013,测试哪个版本会效果更好,可以替换服务器office版本 * * @param file ppt文件 * @param docPath docPath * @return */ List convertPPTToJPG(File file,String docPath, String handoutId); /** * docdeal 消息队列调用 * @param docPath * @param handoutId * @return */ Result insertHandoutPages(String docPath,String handoutId,String uploadModule,String userId,String type); /** * 旋转讲义图片 * @param angle * @param handoutPageId * @return */ Result doRotatePic(String angle, String handoutPageId); /** * 查询讲义 * @param keyWord 查询关键字 * @return */ List queryHandoutByKeyWord(String keyWord); /** * 获取讲义列表数据 * * @return */ List> handoutLst(String tid); /** * 获取机构讲义列表数据 * * @return */ List> handoutOrgLst(String collegeCourseId, String subjectId); /** * 指定讲义 * */ Result insertAppointHandout(String handoutId[],String orgId[],String classIds[],String collegeCourseId); /** * 更新讲义观看量 * */ Result updatePlayCount(String handoutId); /** * 插入讲义观看记录(新版) * */ Result insertplayRecordNew(SchHandoutRecord record,String pageNums); /** * 插入讲义观看记录 * */ Result insertplayRecord(SchHandoutRecord record,String pageNums); /** * 讲义上传重复数据处理 * @param handoutId * @return */ Result doInitHandoutRepeatData( String handoutId ); /** * 排序 * * @param ids 排序id * @param index 序号 * @return */ Result doOrder(List ids, List index); /** * 转码PDF发送消息 * @param handoutId * @param fullPath * @param module * @param userId * @return */ Result sendMsgConvertPDF(String handoutId,String fullPath,String module,String userId); /** * 拷贝讲义 * * @param id * @param subjectId * @param collegeCourseId * @param chapterId * @return */ Result doCopyHandout(String id, String subjectId, String collegeCourseId, String chapterId, String subjectName) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException; /** * 保存讲义接口 * * @param handout * @return */ public Result saveHandout(SchHandout handout); /** * 监管委直接转码 * @param handoutId * @param fullPath * @param module * @param userId */ public void doConvertPDF(String handoutId, String fullPath, String module, String userId); /** * 转码DOC * @param docPath * @param handoutId * @param uploadModule * @param userId */ public void doConvertDOC(String docPath, String handoutId,String uploadModule,String userId); }