package com.qxueyou.scc.teach.res.service; import com.qxueyou.scc.base.model.FileMeta; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.teach.res.model.Res; import com.qxueyou.scc.teach.res.model.ResDir; import com.qxueyou.scc.teach.res.model.ResLib; import java.util.List; public interface IResService { /** * 初始化个人资源库 * * @return */ Result initUserLib(); /** * 获取个人资源库 * * @return */ ResLib readUserLib(); /** * 读取个人资源库 * * @param type 资源库类型 * @return */ ResLib getResLib(String type, String ownerId); /** * 新增资源 * * @param dirId 文件夹id * @param itemDestId 如果为视频,文档,文章等,则为文件id,如果为练习,则为exerciseGroupId * @param name 资源名称 * @param remark 说明 * @param type 资源类型 * @param coverPageUrl 封面文件id,如果为练习,则为空 * @return 上传结果:{"success":true,msg:"success",attrs:{"resId","90023afwe32300fee23"}},若成功,则返回resId */ Result add(String dirId, String itemDestId, String name, String remark, String type, String coverPageUrl); /** * 批量上传资源 */ Result addBatchRes(String dirId, String type, List items); /** * 返回资源 * * @param resId * @return */ Res read(String resId); /** * 修改资源 * * @param resId 资源id * @param name 名称 * @param remark 说明 * @param coverPageUrl 封面文件id,如果为练习,则为空 * @return 上传结果:{"success":true,msg:"success",attrs:{}} */ Result update(String resId, String name, String remark, String coverPageUrl); /** * 删除资源 * * @param resIds 资源id数组 * @return 上传结果:{"success":true,msg:"success",attrs:{}} */ Result delete(String[] resIds); /** * 复制资源 * * @param resId 资源id数组 * @param destDirId 目标文件夹id * @param name 资源名称 * @return 上传结果:{"success":true,msg:"success",attrs:{}} */ Result doCopy(String resId, String destDirId, String name); /** * 移动资源 * * @param resId 资源id数组 * @param destDirId 目标文件夹id * @param name 资源名称 * @return 上传结果:{"success":true,msg:"success",attrs:{}} */ Result doMove(String resId, String destDirId, String name); /** * 查询资源 * * @param dirId 资源文件夹id * @param text 搜索文本 * @param pageNo 页码 * @param pageNum 每页显示行数 * @param type 资源类型 * @return 返回资源列表 */ List listRes(String dirId, String text, Integer pageSize, Integer pageNum, String type); /** * 查询我的所有资源 * * @param text 搜索文本 * @param pageNo 页码 * @param pageNum 每页显示行数 * @param type 资源类型 * @return 返回资源列表 */ List listMyRes(String text, Integer pageSize, Integer pageNum, String type); /** * 根据资源库类型查找资源 * * @param libType 资源库类型 * @param ownerId 所有者id * @param text 搜索文本 * @param pageSize 每页显示行数 * @param pageNum 页码 * @param resType 资源类型 * @return 返回资源列表 */ List listResByLib(String libType, String ownerId, String text, Integer pageSize, Integer pageNum, String resType); /** * 根据资源库类型查找资源总数 * * @param libType 资源库类型 * @param ownerId 所有者id * @param text 搜索文本 * @param resType 资源类型 * @return 返回资源列表 */ int listResCountByLib(String libType, String ownerId, String text, String resType); /** * 我的所有资源的数量 * * @param text 搜索文本 * @param type 资源类型 * @return 返回资源列表 */ int listMyResCount(String text, String type); /** * 查询资源个数 * * @param dirId 资源文件夹id * @param text 搜索文本 * @param pageNo 页码 * @param pageNum 每页显示行数 * @param type 资源类型 * @return 返回资源总数 */ int listResCount(String dirId, String text, String type); /** * 读取资源真实文件访问路径 * * @param resId 资源id数组 * @param attribute 资源附加属性 * @return 上传结果:{"success":true,msg:"success",attrs:{"type":"",path:""}} */ Result readAccessPath(String resId, String attribute); /** * 新增资源文件夹 * * @param parentDirId 父级资源文件夹id * @param name 文件夹名称 * @return 上传结果:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},若成功,则返回dirId */ Result addDir(String parentDirId, String name); /** * 读取资源文件夹 * * @param dirId 资源文件夹id * @return 上传结果:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},若成功,则返回dirId */ ResDir readDir(String dirId); /** * 修改资源文件夹 * * @param dirId 文件夹id * @param name 名称 * @return 上传结果:{"success":true,msg:"success",attrs:{}} */ Result updateDir(String dirId, String name); /** * 删除资源文件夹 * * @param dirIds 资源文件夹id数组 * @return 上传结果:{"success":true,msg:"success",attrs:{}} */ Result deleteDir(String[] dirIds); /** * 返回个人资源库下级资源文件夹列表 * * @param parentDirId 父级资源文件夹id * @return 返回资源列表 */ List doGetMyLibChildDirs(String parentDirId); /** * 返回下级资源文件夹列表 * * @param parentDirId 父级资源文件夹id * @param type 资源库类型 * @return 返回资源列表 */ List doGetChildDirs(String parentDirId, String type); /** * 返回资源库根节点 * * @param type 类型 * @param ownerId 拥有者id * @return 返回资源库根节点 */ ResDir doGetRootDir(String type, String ownerId); void deleteFile4Dir(String dirId); }