package com.qxueyou.scc.teach.subject.service;
|
|
import java.lang.reflect.InvocationTargetException;
|
import java.util.Date;
|
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.teach.subject.model.Subject;
|
import com.qxueyou.scc.teach.subject.model.view.MySubjectV;
|
import com.qxueyou.scc.teach.subject.model.view.OpenSubjectV;
|
import org.springframework.transaction.annotation.Transactional;
|
|
public interface ISubjectService {
|
|
/**
|
* 新增课程
|
*
|
* @param subjectName
|
* 课程名称
|
* @param coverPageFileId
|
* 封面文件id
|
* @param contentFileId
|
* 内容文件id
|
* @return
|
*/
|
Result add(String subjectName, String coverPageFileId, String contentFileId, int type, Date startTime, Date endTime);
|
|
/**
|
* 修改课程
|
*
|
* @param subjectName
|
* 课程名称
|
* @param subjectId
|
* 课程id
|
* @param coverPageFileId
|
* 封面文件id
|
* @param contentFileId
|
* 内容文件id
|
* @return
|
*/
|
Result update(String subjectId, String subjectName, String coverPageFileId, String contentFileId,int type);
|
|
/**
|
* 删除课程
|
*
|
* @param subjectIds
|
* 课程id数组
|
* @return 上传结果:{"success":true,msg:"success",attrs:{}}
|
*/
|
Result delete(String[] subjectIds);
|
|
/**
|
* 发布课程
|
*
|
* @param subjectIds
|
* 课程id数组
|
* @return 上传结果:{"success":true,msg:"success",attrs:{}}
|
*/
|
Result doRelease(String[] subjectIds);
|
|
/**
|
* 撤回课程
|
*
|
* @param subjectIds
|
* 课程id数组
|
* @return 上传结果:{"success":true,msg:"success",attrs:{}}
|
*/
|
Result doCancel(String[] subjectIds);
|
|
/**
|
* 更新课件数量
|
*
|
* @param subjectId
|
* @param count
|
* @return
|
*/
|
Result addLectureCount(String subjectId, int count);
|
|
/**
|
* 查询课程
|
*
|
* @param text
|
* 搜索文本
|
* @param pageSize
|
* 页码
|
* @param pageNum
|
* 每页显示行数
|
* @return 返回课程列表
|
*/
|
List<Subject> list(String text, String teacherId, String status,Integer type, Integer pageSize, Integer pageNum);
|
|
/**
|
* 查询课程个数
|
*
|
* @param text
|
* 搜索文本
|
* @return 返回课程总数
|
*/
|
int listCount(String text, String teacherId, String status,Integer type);
|
|
/**
|
* 读取课程
|
*
|
* @param subjectId
|
* 课程ID
|
* @return 返回课程列表
|
*/
|
Subject read(String subjectId);
|
|
/**
|
* 读取课程详情介绍
|
*
|
* @param subjectId
|
* 课程ID
|
* @return 返回课程详情介绍
|
*/
|
String readSubjectContent(String subjectId);
|
|
/**
|
* 查询我的课程
|
*
|
* @param classId
|
* 班级id
|
* @return 返回课程列表
|
*/
|
List<MySubjectV> listMySubjectV(String classId,String userId);
|
|
/**
|
* 查询公开课程
|
*/
|
List<OpenSubjectV> listOpenSubjectV();
|
|
/**
|
* 首页查询我的课程
|
*/
|
List<Map<String, Object>> getMySubjectList();
|
|
/**
|
* 查询我的课程
|
*
|
* @param classId
|
* 班级id
|
* @return 返回课程列表
|
*/
|
MySubjectV getMy1stSubjectVById(String subjectId);
|
|
/**
|
* 查询个人课程章节的学习进度
|
*
|
* @param classId
|
* 班级id
|
* @return 返回章节学习进度列表
|
*/
|
List<Map<String, Object>> listChapterStudyProgress(String subjectId);
|
|
/**
|
* 获取subject对象
|
*/
|
Subject readSubject(String subjectId);
|
|
/**
|
* 我的活动获取课程完成情况
|
*
|
* @return
|
*/
|
Result getPerformance4Subject();
|
|
/**
|
* 首页获取课程详情列表
|
*/
|
Result lstSubjectDetail();
|
|
/**
|
* 获取数据排行
|
*
|
* @return
|
*/
|
Result getDataDesc(String classId, String subjectId);
|
|
/**
|
* 获取上次学习的位置
|
*/
|
Result lastStudied(String userId);
|
|
/**
|
* 添加班级课程
|
* @param origSubjectId
|
* @param teacherId
|
* @param schoolYear
|
* @param term
|
* @return
|
* @throws InvocationTargetException
|
* @throws IllegalAccessException
|
*/
|
Result addClsSubject(String classId,String origSubjectId, String teacherId, Integer schoolYear, Integer term) throws IllegalAccessException, InvocationTargetException;
|
|
|
/**
|
* 更新班级课程
|
* @param subjectId
|
* @param origSubjectId
|
* @param teacherId
|
* @param schoolYear
|
* @param term
|
* @return
|
*/
|
Result updateClsSubject(String classId,String subjectId, String origSubjectId, String teacherId, Integer schoolYear, Integer term);
|
|
/**
|
* 删除班级课程
|
* @param classId
|
* @param subjectIds
|
* @return
|
*/
|
Result deleteClsSubject(String classId, String[] subjectIds);
|
|
/**
|
* 查询班级课程
|
*
|
* @param classId
|
* @param schoolYear
|
* @param term
|
* @return
|
*/
|
public List<Map<String, Object>> clsSubjectlist(String classId, Integer schoolYear, Integer term);
|
|
/**
|
* 获取班级学期
|
*
|
* @param classId
|
* @return
|
*/
|
public List<Map<String,Object>> termList(String classId);
|
|
/**
|
* 我的课程按学期分类
|
*
|
* @param classId
|
* @return
|
*/
|
public List<Map<String,Object>> myTermSubjectList(String classId);
|
|
/**
|
* 我的课程,按时间排序
|
*
|
* @param classId
|
* @return
|
*/
|
public List<Map<String,Object>> mySubjectList(String classId, Pager pager);
|
|
/**
|
* 查询老师或管理员可用的课程ID和课程名字列表
|
* @param teacherId 根据教师ID过滤
|
* @return
|
*/
|
List<Map<String, Object>> queryAvailableSubjectIdAndName(String teacherId,Integer sbujectType);
|
|
/**
|
* 我的班级信息
|
*
|
* @param classId
|
* @return
|
*/
|
public Map<String,Object> myClassInfo(String classId);
|
|
/**
|
* 获取我的课程数量
|
*
|
* @param classId
|
* @return
|
*/
|
public long myClsSubjectCount(String classId);
|
|
/**
|
* 获取我的课程进度
|
*
|
* @param classId
|
* @param userId
|
* @return
|
*/
|
public List<Map<String,Object>> myClsSubjectlist(String classId, String userId, Pager pager);
|
|
/**
|
* 学员课程作业进度
|
*
|
* @param classId
|
* @param subjectId
|
* @return
|
*/
|
public Map<String, Object> studentSubjectHomeworkProgress(String classId, String subjectId, String userId);
|
|
/**
|
* 学员考试作业进度
|
*
|
* @param classId
|
* @param subjectId
|
* @return
|
*/
|
public Map<String, Object> studentSubjectExamProgress(String classId, String subjectId, String studentId);
|
|
/**
|
* 获取学员的课程进度
|
*
|
* @param classId
|
* @return
|
*/
|
public List<Map<String,Object>> studentSubjectProgress(String classId, Pager pager);
|
|
/**
|
* 班级学员课件总体进度
|
*
|
* @param subjectId
|
* @param classId
|
* @return
|
*/
|
public List<Map<String, Object>> studentSubjectLectureProgress(String subjectId, String classId);
|
|
/**
|
* 我的公开课列表
|
*
|
* @param pageNum
|
* @param pageSize
|
* @param keyword
|
* @return
|
*/
|
public Map<String,Object> myOpenSubjectList(Integer pageNum, Integer pageSize, String keyword);
|
|
/**
|
* 公开课列表
|
*
|
* @param pageNum
|
* @param pageSize
|
* @param keyword
|
* @return
|
*/
|
public Map<String,Object> openSubjectList(Integer pageNum, Integer pageSize, String keyword);
|
|
/**
|
* 公开课详情
|
*
|
* @param subjectId
|
* @return
|
*/
|
public Map<String,Object> openSubjectInfo(String subjectId);
|
|
/**
|
* 我的课程详情
|
*
|
* @param classId
|
* @return
|
*/
|
public Map<String,Object> mySubjectInfo(String subjectId, String classId);
|
|
/**
|
* app教师端课程列表
|
*
|
* @param text
|
* @param status
|
* @param type
|
* @param pageSize
|
* @param pageNum
|
* @return
|
*/
|
Result teacherSubjectList(Pager pager, String keyword, String status,Integer type);
|
|
/**
|
* 课程按学期分类
|
*
|
* @param classId
|
* @return
|
*/
|
List<Map<String,Object>> termSubjectList(String classId, List<Map<String,Object>> clsSubjectlist);
|
|
|
/**
|
* 查询课程关联的班级信息
|
* @param origSubjectId
|
* @return
|
*/
|
List<Map<String, Object>> querySubjectReClassInfos(String origSubjectId);
|
|
/**
|
* 获取课件数量
|
*
|
* @param subjectId
|
* @return
|
*/
|
public long getLectureCount(String subjectId);
|
|
/**
|
* 获取课程名称
|
* @param subjectId
|
* @return
|
*/
|
String findSubjectName(String subjectId);
|
}
|