package com.qxueyou.scc.exercise.service; 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.exercise.model.ExerciseGroup; import com.qxueyou.scc.exercise.model.ExerciseItemSet; /** * 题库服务类 * * @author kevin * @createTime 2018-03-11 */ public interface IExerciseGroupService { /** * 查询题库数量 * @param param 查询参数 * @return */ int queryExerciseGroupCount(Map param); /** * 查询题库列表 * @param param 查询参数 * @param page 分页对象 * @return */ List queryExerciseGroupList(Map param,Pager page); /** * 新增题库 * * @param exerciseGroupInfo * * @return 新增题库ID */ String addExerciseGroup(ExerciseGroup exerciseGroup); /** * 删除题库 * * @param elxamIds * 题库id * @return */ Result deleteExerciseGroup(String[] exerciseGroupIds); /** * 更新题库信息 * * @param noticeId * 题库id * @return */ Result updateExerciseGroup(ExerciseGroup exerciseGroup); ExerciseGroup queryExerciseGroupDetail(String groupId,String batchId); ExerciseGroup queryReExerciseGroupDetail(String groupId,String examId); /** * 发布题库 * * @param exerciseGroupIds * 题库的Ids * @return 1表示发布成功,0表示发布失败 */ Result doExerciseGroupRealease(String[] exerciseGroupIds); /** * 撤回发布的题库 * * @param exerciseGroupIds * 题库的Ids * @return 1表示撤回成功,0表示撤回失败失败 */ Result doExerciseGroupRevocation(String[] exerciseGroupIds); /** * 题库id 查询题库 * @param exerciseGroupId * @return */ ExerciseGroup queryExerciseGroupDetail(String exerciseGroupId); /** * 根据原题目组及类型复制题目 * @param sourceGroup 原题库 * @param targetGroup 目标题库 * @param startOrder 复制的起始顺序号 * @return 返回复制的题库题目数量 * @throws Exception */ public int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup,Short[] itemType,int startOrder) throws Exception; /** * 根据题目复制原题库题目到新题库 * @param sourceGroup 原题库 * @param targetGroup 目标题库 * @param exerciseItemIds * @return */ int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup, String[] exerciseItemIds,int startOrder) throws Exception; /** * 交换题库中的题目的位置顺序 * @param paperGroupId * @param examItemId1 * @param examIemId2 * @return */ Result doExchangeExamPaperGroupItemOrder(String paperGroupId, String examItemId1, String examIemId2); /** * 发布考试题库 * @param groupIds * @return */ Result doPublishExerciseLib(String[] groupIds); Result doRevokeExerciseLib(String[] groupIds); /** * * @param groupIds * @return */ /** * 根据源题目组随机,生成新的题目组 * @param sourceGroupIds 新题库名称 * @param newGroupType 新题库类型 * @param sourceGroupIds 源题库ID * @param lstExerciseItemSet 随机题目配置 * @return string 返回新生成的题目组ID */ String doCreateRandomExerciseGroup(String newGroupName,short newGroupType,String[] sourceGroupIds,List lstExerciseItemSet); /** * 根据题库ID获取题库题目统计信息 * @param groupIds * @return */ List queryExerciseGroupItemsStatistic(String[] groupIds); /** * 根据groupIds按顺序返回名称数组 * @param groupIds * @return */ String[] queryGroupNamesByIds(String[] groupIds); }