diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java index 913cacc0..89c96e80 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java @@ -63,43 +63,56 @@ import static java.util.stream.Collectors.joining; @Service @Transactional @Slf4j -public class TeacherOpenCourseQuestionSettingService extends CoreBaseService implements DeleteResourcesBy{ - - @Autowired private TeacherOpenCourseQuestionSettingDao teacherOpenCourseQuestionSettingDao; - @Autowired private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; - @Autowired private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao; - @Autowired private QuestionLogSummaryDao questionLogSummaryDao; - @Autowired private StudentDao studentDao; - @Autowired private ResourcesQuestionSnapshotService resourcesQuestionSnapshotService; - @Autowired private TeacherOpenCourseQuestionLogService teacherOpenCourseQuestionLogService; - @Autowired private TeacherOpenCourseQuestionLogWrongService teacherOpenCourseQuestionLogWrongService; - @Autowired private ResourcesQuestionService resourcesQuestionService; - @Autowired private CourseInfoService courseInfoService; - @Autowired private TeacherOpenCourseMergeResourcesQuestionService teacherOpenCourseMergeResourcesQuestionService; - @Autowired private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService; - @Autowired private QuestionSettingRedisDelayQueueImpl questionSettingRedisDelayQueue; +public class TeacherOpenCourseQuestionSettingService extends CoreBaseService implements DeleteResourcesBy { + + @Autowired + private TeacherOpenCourseQuestionSettingDao teacherOpenCourseQuestionSettingDao; + @Autowired + private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; + @Autowired + private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao; + @Autowired + private QuestionLogSummaryDao questionLogSummaryDao; + @Autowired + private StudentDao studentDao; + @Autowired + private ResourcesQuestionSnapshotService resourcesQuestionSnapshotService; + @Autowired + private TeacherOpenCourseQuestionLogService teacherOpenCourseQuestionLogService; + @Autowired + private TeacherOpenCourseQuestionLogWrongService teacherOpenCourseQuestionLogWrongService; + @Autowired + private ResourcesQuestionService resourcesQuestionService; + @Autowired + private CourseInfoService courseInfoService; + @Autowired + private TeacherOpenCourseMergeResourcesQuestionService teacherOpenCourseMergeResourcesQuestionService; + @Autowired + private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService; + @Autowired + private QuestionSettingRedisDelayQueueImpl questionSettingRedisDelayQueue; @Autowired private QuestionLogSummaryService questionLogSummaryService; - public PageQueryqueryByCondition(PageQuery query){ - PageQuery ret = teacherOpenCourseQuestionSettingDao.queryByCondition(query); + public PageQuery queryByCondition(PageQuery query) { + PageQuery ret = teacherOpenCourseQuestionSettingDao.queryByCondition(query); queryListAfter(ret.getList()); return ret; } - public PageQueryqueryByConditionQuery(PageQuery query){ - PageQuery ret = teacherOpenCourseQuestionSettingDao.queryByConditionQuery(query); + public PageQuery queryByConditionQuery(PageQuery query) { + PageQuery ret = teacherOpenCourseQuestionSettingDao.queryByConditionQuery(query); queryListAfter(ret.getList()); return ret; } - public void deleteByList(List list){ + public void deleteByList(List list) { String ids = ""; ToolUtils.deleteNullList(list); - for(int i=0;null != list && i teacherOpenCourseQuestionSettingList = new ArrayList<>(); try { @@ -129,11 +142,12 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService0){ - for(int i=0;i 0) { + for (int i = 0; i < teacherOpenCourseQuestionSettingList.size(); i++) { TeacherOpenCourseQuestionSetting teacherOpenCourseQuestionSetting = teacherOpenCourseQuestionSettingList.get(i); teacherOpenCourseQuestionSetting.setUserId(teacherOpenCourseQuestionSettingQuery.getUserId()); teacherOpenCourseQuestionSetting.setOrgId(teacherOpenCourseQuestionSettingQuery.getOrgId()); @@ -145,7 +159,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 数据库设计稍微有点不严谨,暂时用名字来作为关联的条件,所以这里只能保证同一个开课ID下的名字是唯一的 * * @param teacherOpenCourseId @@ -184,14 +198,14 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService oneList = getValuesByQuery(settingQuery); - if(ObjectUtil.isNotEmpty(oneList)) { + if (ObjectUtil.isNotEmpty(oneList)) { throw new PlatformException("当前开课下的题目配置名称重复,请重新设置!"); } } @@ -199,7 +213,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 数据库设计稍微有点不严谨,暂时用名字来作为关联的条件,所以这里只能保证同一个开课ID下的名字是唯一的 * * @param query @@ -221,35 +235,36 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService s.getTeacherOpenCourseQuestionSettingId().equals(query.getTeacherOpenCourseQuestionSettingId())); } - if(ObjectUtil.isNotEmpty(oneList)) { + if (ObjectUtil.isNotEmpty(oneList)) { throw new PlatformException("当前开课下的题目配置名称重复,请重新设置!"); } } } - public String updateGivenByIds(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery){ + public String updateGivenByIds(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery) { String msg = ""; - if(StringUtils.isNotBlank(teacherOpenCourseQuestionSettingQuery.get_given())){ + if (StringUtils.isNotBlank(teacherOpenCourseQuestionSettingQuery.get_given())) { boolean flag = teacherOpenCourseQuestionSettingDao.updateGivenByIds(teacherOpenCourseQuestionSettingQuery) > 0; - if(!flag){ + if (!flag) { msg = "更新指定参数失败"; } - }else{ + } else { msg = "指定参数为空"; } return msg; } - public List getValues (Object paras){ + public List getValues(Object paras) { return sqlManager.select(SqlId.of("jlw.teacherOpenCourseQuestionSetting.getTeacherOpenCourseQuestionSettingValues"), TeacherOpenCourseQuestionSetting.class, paras); } - public List getValuesByQuery (TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery){ + public List getValuesByQuery(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery) { return teacherOpenCourseQuestionSettingDao.getValuesByQuery(teacherOpenCourseQuestionSettingQuery); } /** * 设置题目的分数和完成时间 + * * @param list * @param student */ @@ -319,23 +334,23 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService list = teacherOpenCourseQuestionSettingDao.getValuesByQuery(teacherOpenCourseQuestionSettingQuery); - if(null != list && list.size()>0){ + if (null != list && list.size() > 0) { return list.get(0); - }else{ + } else { return null; } } - public TeacherOpenCourseQuestionSetting getInfo (TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery){ + public TeacherOpenCourseQuestionSetting getInfo(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery) { List list = teacherOpenCourseQuestionSettingDao.getValuesByQuery(teacherOpenCourseQuestionSettingQuery); - if(null != list && list.size()>0){ + if (null != list && list.size() > 0) { return list.get(0); - }else{ + } else { return null; } } @@ -344,7 +359,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 添加主表 * 任务一:添加主表 * 任务二:添加到题目配置主表; @@ -377,16 +392,17 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 任务一;添加题目配置主表 * 任务二:添加题目快照表 + * * @param settingQuery * @return */ - public void addSettingByOpenCourse(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseQuestionSettingQuery settingQuery, Map courseInfoIdPair ) { + public void addSettingByOpenCourse(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseQuestionSettingQuery settingQuery, Map courseInfoIdPair) { // 编辑操作 - if(ObjectUtil.isNotEmpty(settingQuery.getTeacherOpenCourseQuestionSettingId())) { + if (ObjectUtil.isNotEmpty(settingQuery.getTeacherOpenCourseQuestionSettingId())) { String editSettingIds = settingQuery.getTeacherOpenCourseQuestionSettingId().toString(); deleteSettingAndSnapByIds(editSettingIds); // 删除主键,用于下面的保存方法 @@ -404,7 +420,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService settingDTOList = null; // 指定题目IDs的时候,指定题目。但是不传题目的类型,后台这里需要处理题目分类 - if(ObjectUtil.isNotEmpty(resourcesQuestionIdPlural)) { + if (ObjectUtil.isNotEmpty(resourcesQuestionIdPlural)) { TeacherOpenCourseMergeResourcesQuestionQuery questionQuery = new TeacherOpenCourseMergeResourcesQuestionQuery(); questionQuery.setQuestionStatus(1); questionQuery.setTeacherOpenCourseMergeResourcesQuestionIdPlural(resourcesQuestionIdPlural); @@ -418,12 +434,14 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService { QuestionSettingDTO settingDTO = map.get(item.getQuestionType()); - if(ObjectUtil.isAllNotEmpty(settingDTO, item.getSingleScore())) { + if (ObjectUtil.isAllNotEmpty(settingDTO, item.getSingleScore())) { settingDTO.setSingleScore(item.getSingleScore()); } }); - if (ObjectUtil.isNotEmpty(map)) { settingDTOList = map.values(); } + if (ObjectUtil.isNotEmpty(map)) { + settingDTOList = map.values(); + } } // 随机抽取题目的方式 @@ -445,7 +463,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService courseInfoIdPair ) { + public void addSettingBySystemCourse(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseQuestionSettingQuery settingQuery, Map courseInfoIdPair) { // 添加到作业主表中 add(settingQuery); @@ -459,13 +477,14 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 添加主表 * 任务一:添加主表 * 任务二:添加到题目配置主表; * 任务二:也可以添加题目快照(非必选) - * @param teacherOpenCourseId 开课ID - * @param courseInfoIdWithQuestionSettingOptions Key:课程名称,Value:题型和题目ID的组合列表 + * + * @param teacherOpenCourseId 开课ID + * @param courseInfoIdWithQuestionSettingOptions Key:课程名称,Value:题型和题目ID的组合列表 */ public void addSettingByOpenCourse(@NotNull(message = "开课ID不能为空!") Long teacherOpenCourseId, @Nullable Map> courseInfoIdWithQuestionSettingOptions, @@ -498,25 +517,27 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService { // 判断,添加交给外部来控制 try { - if(eq.equals(func1.call(courseInfo))) { + if (eq.equals(func1.call(courseInfo))) { settingQuery.setQuestionSettingOptions(new ArrayList<>(settingDtoList)); settingQuery.setTeacherOpenCourseQuestionSettingName(courseInfo.getCourseInfoName()); addSettingByOpenCourse(settingQuery, courseInfoIdPair); } - } catch (Exception e) { } + } catch (Exception e) { + } }); } /** * 根据开课的课程信息,添加题目配置和题目 - * + *

* 添加主表 * 任务一:添加主表 * 任务二:添加到题目配置主表; * 任务二:也可以添加题目快照(非必选) - * @param teacherOpenCourseId 开课ID - * @param courseInfoIdWithQuestionSettingOptions Key:课程名称,Value:题型和题目ID的组合列表 + * + * @param teacherOpenCourseId 开课ID + * @param courseInfoIdWithQuestionSettingOptions Key:课程名称,Value:题型和题目ID的组合列表 */ public void addSettingBySystemCourse(@NotNull(message = "开课ID不能为空!") Long teacherOpenCourseId, @Nullable Map> courseInfoIdWithQuestionSettingOptions, @@ -548,12 +569,13 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService { // 判断,添加交给外部来控制 try { - if(eq.equals(func1.call(courseInfo))) { + if (eq.equals(func1.call(courseInfo))) { settingQuery.setQuestionSettingOptions(new ArrayList<>(settingDtoList)); settingQuery.setTeacherOpenCourseQuestionSettingName(courseInfo.getCourseInfoName()); addSettingBySystemCourse(settingQuery, courseInfoIdPair); } - } catch (Exception e) { } + } catch (Exception e) { + } }); } @@ -574,11 +596,12 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService idList = settingList.stream() .map(TeacherOpenCourseQuestionSetting::getTeacherOpenCourseQuestionSettingId).collect(Collectors.toList()); - if(ObjectUtil.isAllNotEmpty(teacherOpenCourseId, teacherOpenCourseQuestionSettingName)) { + if (ObjectUtil.isAllNotEmpty(teacherOpenCourseId, teacherOpenCourseQuestionSettingName)) { // 获取完ID以后,删除主表数据 sqlManager.lambdaQuery(TeacherOpenCourseQuestionSetting.class) .andEq(TeacherOpenCourseQuestionSetting::getTeacherOpenCourseId, teacherOpenCourseId) @@ -615,9 +638,9 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService courseInfos, Map courseInfoIdPair) { @@ -631,7 +654,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService questionList = resourcesQuestionService.getByCourseInfoIds(allCourseInfoIds); // 有题目才继续执行 - if(ObjectUtil.isNotEmpty(questionList)) { + if (ObjectUtil.isNotEmpty(questionList)) { Map map = resourcesQuestionService.buildSettingDtoListByNoDiffQuestionList(questionList); Map> courseInfoIdWithQuestionSettingOptions = new HashMap<>(1); courseInfoIdWithQuestionSettingOptions.put(courseInfo, map.values()); @@ -691,7 +714,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService resourcesQuestionSnapshots = BeanUtil.copyToList(resourcesQuestionList, ResourcesQuestionSnapshot.class); resourcesQuestionSnapshots.forEach(item -> item.setTeacherOpenCourseQuestionSettingId(questionSettingQuery.getTeacherOpenCourseQuestionSettingId())); @@ -713,6 +736,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService { // 1单选 2多选进行打乱,其他的不变 if (value.getQuestionType() <= 2) { - shuffleQuestion(value, "questionStem","questionOption", + shuffleQuestion(value, "questionStem", "questionOption", "questionAnswer", "questionType"); } }); @@ -903,15 +928,15 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 错题练习,错题库根据试卷来 * - * @param questionSettingId 题目配置ID(试卷ID) - * @param tuckOrError 练习的类型 - * @param student 学生 + * @param questionSettingId 题目配置ID(试卷ID) + * @param tuckOrError 练习的类型 + * @param student 学生 * @return {@link JsonResult} * @Author: 87966 * @Date: 2022/12/1 9:27 */ public List questionDetailTest(@NotNull(message = "题目配置ID不能为空!") Long questionSettingId, - @NotNull(message = "练习类型不能为空!") TuckOrErrorEnum tuckOrError, @NotNull(message = "该接口只能学生访问") Student student) { + @NotNull(message = "练习类型不能为空!") TuckOrErrorEnum tuckOrError, @NotNull(message = "该接口只能学生访问") Student student) { final Long studentId = student.getStudentId(); TeacherOpenCourseQuestionLogQuery logQuery = new TeacherOpenCourseQuestionLogQuery(); @@ -930,7 +955,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService * 分析汇总 * - * @param teacherOpenCourseId 开课ID - * @param questionSettingType 题目配置类型 + * @param teacherOpenCourseId 开课ID + * @param questionSettingType 题目配置类型 * @Author: 87966 * @Date: 2022/12/21 22:40 */ @@ -978,7 +1003,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService settingList = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission(settingQuery); List questionSettingIdList = CollectionUtil.emptyIfNull(settingList).stream() .map(TeacherOpenCourseQuestionSetting::getTeacherOpenCourseQuestionSettingId).map(Objects::toString).collect(Collectors.toList()); - String questionSettingIds = join( ",", questionSettingIdList); + String questionSettingIds = join(",", questionSettingIdList); OpenCourseQuestionSettingAnalysisAvgVO analysisAvgVO = new OpenCourseQuestionSettingAnalysisAvgVO(); @@ -1003,6 +1028,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService list) { diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java index c8341034..6d86f321 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java @@ -1,10 +1,13 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.util.StrUtil; import cn.jlw.Interceptor.SCoreUser; import cn.jlw.validate.ValidateConfig; import com.ibeetl.admin.core.annotation.Function; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.file.FileService; +import com.ibeetl.admin.core.util.BeanCopyUtil; +import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionSetting; import com.ibeetl.jlw.enums.GlobalPushStatusEnum; @@ -22,10 +25,16 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import static cn.jlw.util.CacheUserUtil.getStudent; +import static com.ibeetl.admin.core.util.ExcelUtil.convertData; +import static com.ibeetl.admin.core.util.ExcelUtil.write; /** * 题目配置 我的课程-题目-设置 接口 @@ -33,24 +42,26 @@ import static cn.jlw.util.CacheUserUtil.getStudent; */ @RestController -public class TeacherOpenCourseQuestionSettingController{ +public class TeacherOpenCourseQuestionSettingController { private final Log log = LogFactory.getLog(this.getClass()); private static final String MODEL = "/jlw/teacherOpenCourseQuestionSetting"; private static final String API = "/api/teacherOpenCourseQuestionSetting"; - @Autowired private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService; + @Autowired + private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService; - @Autowired FileService fileService; + @Autowired + FileService fileService; /* 前端接口 */ @PostMapping(API + "/getPageList.do") - public JsonResult getPageList(TeacherOpenCourseQuestionSettingQuery condition,@SCoreUser CoreUser coreUser){ - if(null == coreUser){ + public JsonResult getPageList(TeacherOpenCourseQuestionSettingQuery condition, @SCoreUser CoreUser coreUser) { + if (null == coreUser) { return JsonResult.failMessage("请登录后再操作"); - }else{ + } else { if (coreUser.isStudent()) { condition.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); condition.setTeacherOpenCourseQuestionSettingStatus(1); @@ -67,34 +78,115 @@ public class TeacherOpenCourseQuestionSettingController{ } } + @GetMapping(API + "/exportPageList.do") + public void exportPageList(TeacherOpenCourseQuestionSettingQuery condition, HttpServletResponse response, @SCoreUser CoreUser coreUser) throws IOException { + if (null == coreUser) { + throw new PlatformException("请登录后再操作"); + } else { + if (condition.getTeacherOpenCourseQuestionSettingType() == null) { + throw new PlatformException("参数错误"); + } + if (coreUser.isStudent()) { + condition.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); + condition.setTeacherOpenCourseQuestionSettingStatus(1); + } + + condition.setPage(1); + condition.setLimit(Long.MAX_VALUE); + PageQuery page = condition.getPageQuery(); + teacherOpenCourseQuestionSettingService.queryByConditionQuery(page); + + String baseName = ""; + + for (Object o : page.getList()) { + TeacherOpenCourseQuestionSetting setting = (TeacherOpenCourseQuestionSetting) o; + GlobalPushStatusEnum teacherOpenCourseQuestionSettingPushStatus = setting.getTeacherOpenCourseQuestionSettingPushStatus(); + setting.set("teacherOpenCourseQuestionSettingPushStatusText",teacherOpenCourseQuestionSettingPushStatus.getText()); + } + + /** 构建表头 */ + Map header = new LinkedHashMap<>(11); + + + switch (condition.getTeacherOpenCourseQuestionSettingType()) { + case EXAM: + header.put("teacherOpenCourseQuestionSettingName", "考试名称"); + header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级"); + header.put("teacherOpenCourseQuestionStartTime", "考试开始时间"); + header.put("teacherOpenCourseQuestionEndTime", "考试结束时间"); + + header.put("avgSuccessCount", "平均答对数量"); + header.put("avgErrorCount", "平均答错数量"); + header.put("avgSuccessRate", "平均正确率"); + header.put("avgScore", "平均得分"); + header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); + baseName = "考试记录-导出"; + break; + + case HOMEWORK_QUESTION: + header.put("teacherOpenCourseQuestionSettingName", "题库作业名称"); + header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级"); + header.put("teacherOpenCourseQuestionStartTime", "作业开始时间"); + header.put("teacherOpenCourseQuestionEndTime", "作业结束时间"); + header.put("avgPassRate", "及格率"); + header.put("avgScore", "平均得分"); + header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); + baseName = "题库作业-导出"; + break; + + case HOMEWORK_FILE: + header.put("teacherOpenCourseQuestionSettingName", "题库作业名称"); + header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "作业班级"); + header.put("messageAddTime", "作业附件"); + header.put("avgScore", "平均得分"); + header.put("avgPassRate", "及格率"); + header.put("teacherOpenCourseQuestionStartTime", "作业开始时间"); + header.put("teacherOpenCourseQuestionEndTime", "作业结束时间"); + header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); + baseName = "附件作业-导出"; + break; + + default: + throw new PlatformException("参数错误"); + } + + List> maps = BeanCopyUtil.baseEntity2MapWithParallel(page.getList()); + + String filename = StrUtil.format("{} {}.xlsx", baseName, System.currentTimeMillis()); + write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps)); + + } + } + @GetMapping(API + "/getInfo.do") - public JsonResultgetInfo(TeacherOpenCourseQuestionSettingQuery param,@SCoreUser CoreUser coreUser) { - if(null == coreUser){ + public JsonResult getInfo(TeacherOpenCourseQuestionSettingQuery param, @SCoreUser CoreUser coreUser) { + if (null == coreUser) { return JsonResult.failMessage("请登录后再操作"); - }else{ + } else { TeacherOpenCourseQuestionSetting teacherOpenCourseQuestionSetting = teacherOpenCourseQuestionSettingService.getInfo(param); - return JsonResult.success(teacherOpenCourseQuestionSetting); + return JsonResult.success(teacherOpenCourseQuestionSetting); } } @GetMapping(API + "/getList.do") - public JsonResult>getList(TeacherOpenCourseQuestionSettingQuery param,@SCoreUser CoreUser coreUser) { - if(null == coreUser){ + public JsonResult> getList(TeacherOpenCourseQuestionSettingQuery param, @SCoreUser CoreUser coreUser) { + if (null == coreUser) { return JsonResult.failMessage("请登录后再操作"); - }else{ - Listlist = teacherOpenCourseQuestionSettingService.getValuesByQuery(param); + } else { + List list = teacherOpenCourseQuestionSettingService.getValuesByQuery(param); if (!param.getNotSelectOther()) { // 设置分数和完成时间 teacherOpenCourseQuestionSettingService.setMyQuestionLogScoreInfo(list, getStudent()); } - return JsonResult.success(list); + return JsonResult.success(list); } } /** * 教师端-根据类型添加作业(支持章节练习、考试、作业等) + * * @param teacherOpenCourseQuestionSettingQuery * @param result * @param coreUser @@ -119,7 +211,7 @@ public class TeacherOpenCourseQuestionSettingController{ * 申请试卷 * * @param teacherOpenCourseQuestionSettingId 配置ID - * @param fromTypeEnum 来源类型 + * @param fromTypeEnum 来源类型 * @return */ @PostMapping(API + "/questionDetail.do") @@ -132,20 +224,21 @@ public class TeacherOpenCourseQuestionSettingController{ * 功能描述:
* 错题练习,错题库根据试卷来 * - * @param questionSettingId 题目配置ID(试卷ID) - * @param tuckOrError 练习的类型 - * @param coreUser 登录用户 + * @param questionSettingId 题目配置ID(试卷ID) + * @param tuckOrError 练习的类型 + * @param coreUser 登录用户 * @return {@link JsonResult} * @Author: 87966 * @Date: 2022/12/1 9:27 */ @PostMapping(API + "/questionDetailTest.do") - public JsonResult questionDetailTest(Long questionSettingId, TuckOrErrorEnum tuckOrError, @SCoreUser CoreUser coreUser){ + public JsonResult questionDetailTest(Long questionSettingId, TuckOrErrorEnum tuckOrError, @SCoreUser CoreUser coreUser) { return JsonResult.success(teacherOpenCourseQuestionSettingService.questionDetailTest(questionSettingId, tuckOrError, getStudent())); } /** * 编辑发布状态 + * * @param ids * @param pushStatus * @return @@ -158,20 +251,22 @@ public class TeacherOpenCourseQuestionSettingController{ /** * 题目配置,统计分析接口 - * @param teacherOpenCourseId 开课ID - * @param questionSettingId 题目配置ID - * @param questionSettingType 题目配置类型 + * + * @param teacherOpenCourseId 开课ID + * @param questionSettingId 题目配置ID + * @param questionSettingType 题目配置类型 * @return */ @PostMapping(API + "/analysis.do") - public JsonResult analysisDo(Long teacherOpenCourseId, ResourcesQuestionSnapshotFromTypeEnum questionSettingType, @RequestParam(required = false) Long questionSettingId, @SCoreUser CoreUser coreUser) { + public JsonResult analysisDo(Long teacherOpenCourseId, ResourcesQuestionSnapshotFromTypeEnum questionSettingType, @RequestParam(required = false) Long questionSettingId, @SCoreUser CoreUser coreUser) { return JsonResult.success(teacherOpenCourseQuestionSettingService.analysis(teacherOpenCourseId, questionSettingType, questionSettingId)); } /** * 题目配置,统计分析接口 - * @param teacherOpenCourseId 开课ID - * @param questionSettingType 题目配置类型 + * + * @param teacherOpenCourseId 开课ID + * @param questionSettingType 题目配置类型 * @return */ @PostMapping(API + "/analysisTotal.do") @@ -181,6 +276,7 @@ public class TeacherOpenCourseQuestionSettingController{ /** * 逻辑删除 + * * @param ids * @return */ @@ -192,6 +288,7 @@ public class TeacherOpenCourseQuestionSettingController{ /** * 真删除 + * * @param ids * @return */ @@ -206,7 +303,7 @@ public class TeacherOpenCourseQuestionSettingController{ @GetMapping(MODEL + "/index.do") @Function("teacherOpenCourseQuestionSetting.query") public ModelAndView index() { - ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseQuestionSetting/index.html") ; + ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseQuestionSetting/index.html"); view.addObject("search", TeacherOpenCourseQuestionSettingQuery.class.getName()); return view; } @@ -224,10 +321,10 @@ public class TeacherOpenCourseQuestionSettingController{ @Function("teacherOpenCourseQuestionSetting.add") public ModelAndView add(Long teacherOpenCourseQuestionSettingId) { ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseQuestionSetting/add.html"); - if(null != teacherOpenCourseQuestionSettingId){ + if (null != teacherOpenCourseQuestionSettingId) { TeacherOpenCourseQuestionSetting teacherOpenCourseQuestionSetting = teacherOpenCourseQuestionSettingService.queryById(teacherOpenCourseQuestionSettingId); view.addObject("teacherOpenCourseQuestionSetting", teacherOpenCourseQuestionSetting); - }else { + } else { view.addObject("teacherOpenCourseQuestionSetting", new TeacherOpenCourseQuestionSetting()); } return view; @@ -237,7 +334,7 @@ public class TeacherOpenCourseQuestionSettingController{ @PostMapping(MODEL + "/list.json") @Function("teacherOpenCourseQuestionSetting.query") - public JsonResult list(TeacherOpenCourseQuestionSettingQuery condition){ + public JsonResult list(TeacherOpenCourseQuestionSettingQuery condition) { PageQuery page = condition.getPageQuery(); teacherOpenCourseQuestionSettingService.queryByCondition(page); return JsonResult.success(page); @@ -245,32 +342,32 @@ public class TeacherOpenCourseQuestionSettingController{ @PostMapping(MODEL + "/addAll.json") @Function("teacherOpenCourseQuestionSetting.add") - public JsonResult addAll(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery,@SCoreUser CoreUser coreUser){ - if(null == coreUser){ + public JsonResult addAll(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery, @SCoreUser CoreUser coreUser) { + if (null == coreUser) { return JsonResult.failMessage("请登录后再操作"); - }else{ - teacherOpenCourseQuestionSettingQuery.setUserId(coreUser.getId()); - teacherOpenCourseQuestionSettingQuery.setOrgId(coreUser.getOrgId()); + } else { + teacherOpenCourseQuestionSettingQuery.setUserId(coreUser.getId()); + teacherOpenCourseQuestionSettingQuery.setOrgId(coreUser.getOrgId()); String msg = teacherOpenCourseQuestionSettingService.addAll(teacherOpenCourseQuestionSettingQuery); if (StringUtils.isBlank(msg)) { return JsonResult.success(); } else { - return JsonResult.failMessage("新增失败,"+msg); + return JsonResult.failMessage("新增失败," + msg); } } } @PostMapping(MODEL + "/add.json") @Function("teacherOpenCourseQuestionSetting.add") - public JsonResult add(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery, BindingResult result,@SCoreUser CoreUser coreUser){ - if(result.hasErrors()){ + public JsonResult add(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery, BindingResult result, @SCoreUser CoreUser coreUser) { + if (result.hasErrors()) { return JsonResult.failMessage(result); - }else{ - teacherOpenCourseQuestionSettingQuery.setUserId(coreUser.getId()); - teacherOpenCourseQuestionSettingQuery.setOrgId(coreUser.getOrgId()); - if(null == teacherOpenCourseQuestionSettingQuery.getTeacherOpenCourseQuestionSettingStatus()){ - teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1); - } + } else { + teacherOpenCourseQuestionSettingQuery.setUserId(coreUser.getId()); + teacherOpenCourseQuestionSettingQuery.setOrgId(coreUser.getOrgId()); + if (null == teacherOpenCourseQuestionSettingQuery.getTeacherOpenCourseQuestionSettingStatus()) { + teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1); + } return teacherOpenCourseQuestionSettingService.add(teacherOpenCourseQuestionSettingQuery); } } @@ -278,16 +375,16 @@ public class TeacherOpenCourseQuestionSettingController{ @PostMapping(MODEL + "/edit.json") @Function("teacherOpenCourseQuestionSetting.edit") public JsonResult update(@Validated(ValidateConfig.UPDATE.class) TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery, BindingResult result) { - if(result.hasErrors()){ + if (result.hasErrors()) { return JsonResult.failMessage(result); - }else { - teacherOpenCourseQuestionSettingQuery.setUserId(null); - teacherOpenCourseQuestionSettingQuery.setOrgId(null); + } else { + teacherOpenCourseQuestionSettingQuery.setUserId(null); + teacherOpenCourseQuestionSettingQuery.setOrgId(null); String msg = teacherOpenCourseQuestionSettingService.edit(teacherOpenCourseQuestionSettingQuery); if (StringUtils.isBlank(msg)) { return JsonResult.success(); } else { - return JsonResult.failMessage("更新失败,"+msg); + return JsonResult.failMessage("更新失败," + msg); } } } @@ -295,21 +392,22 @@ public class TeacherOpenCourseQuestionSettingController{ @GetMapping(MODEL + "/view.json") @Function("teacherOpenCourseQuestionSetting.query") - public JsonResultqueryInfo(Long teacherOpenCourseQuestionSettingId) { - TeacherOpenCourseQuestionSetting teacherOpenCourseQuestionSetting = teacherOpenCourseQuestionSettingService.queryById( teacherOpenCourseQuestionSettingId); - return JsonResult.success(teacherOpenCourseQuestionSetting); + public JsonResult queryInfo(Long teacherOpenCourseQuestionSettingId) { + TeacherOpenCourseQuestionSetting teacherOpenCourseQuestionSetting = teacherOpenCourseQuestionSettingService.queryById(teacherOpenCourseQuestionSettingId); + return JsonResult.success(teacherOpenCourseQuestionSetting); } @GetMapping(MODEL + "/getValues.json") @Function("teacherOpenCourseQuestionSetting.query") - public JsonResult>getValues(TeacherOpenCourseQuestionSettingQuery param) { - Listlist = teacherOpenCourseQuestionSettingService.getValuesByQuery(param); - return JsonResult.success(list); + public JsonResult> getValues(TeacherOpenCourseQuestionSettingQuery param) { + List list = teacherOpenCourseQuestionSettingService.getValuesByQuery(param); + return JsonResult.success(list); } /** * 逻辑删除 + * * @param ids * @return */ @@ -323,6 +421,7 @@ public class TeacherOpenCourseQuestionSettingController{ /** * 真删除 + * * @param ids * @return */ @@ -336,6 +435,7 @@ public class TeacherOpenCourseQuestionSettingController{ /** * 编辑发布状态 + * * @param ids * @param pushStatus * @return @@ -351,9 +451,10 @@ public class TeacherOpenCourseQuestionSettingController{ /** * 题目配置,统计分析接口 - * @param teacherOpenCourseId 开课ID - * @param questionSettingId 题目配置ID - * @param questionSettingType 题目配置类型 + * + * @param teacherOpenCourseId 开课ID + * @param questionSettingId 题目配置ID + * @param questionSettingType 题目配置类型 * @return */ @PostMapping(MODEL + "/analysis.json")