题目类型

beetlsql3-dev
Mlxa0324
parent c963bba746
commit f7edee5a72

@ -2,6 +2,7 @@ package com.ibeetl.jlw.dao;
import com.ibeetl.jlw.entity.CourseInfo;
import com.ibeetl.jlw.entity.ResourcesQuestion;
import com.ibeetl.jlw.entity.dto.QuestionSettingDTO;
import com.ibeetl.jlw.entity.vo.QuestionTypeCountVO;
import com.ibeetl.jlw.enums.MatchTypeEnum;
import com.ibeetl.jlw.enums.QuestionBusinessTypeEnum;
@ -51,4 +52,6 @@ public interface ResourcesQuestionDao extends BaseMapper<ResourcesQuestion>{
* @return
*/
Long getCourseInfoByBusinessTypeAndTitle(String courseInfoTitle, String importCourseId, MatchTypeEnum matchType, QuestionBusinessTypeEnum businessType);
List<QuestionSettingDTO> getGroupQuestionTypeCountAndSelectInfo(Long courseInfoId, Long questionSettingId);
}

@ -5,6 +5,7 @@ import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.annotation.DictEnum;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.jlw.entity.dto.QuestionSettingDTO;
import com.ibeetl.jlw.enums.GlobalPushStatusEnum;
import com.ibeetl.jlw.enums.QuestionBusinessTypeEnum;
import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
@ -20,6 +21,7 @@ import org.beetl.sql.fetch.annotation.FetchSql;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/*
* --
@ -136,6 +138,14 @@ public class GeneralQuestionSetting extends BaseEntity{
private Long userId ;
/**
*
*
*/
@UpdateIgnore
@InsertIgnore
private List<QuestionSettingDTO> questionSettingOptions;
public Long getGeneralQuestionSettingId() {
return generalQuestionSettingId;
}

@ -722,4 +722,29 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
return Collections.emptyList();
}
/**
*
* @param list
*/
public void fullQuestionSettingOptions(List<GeneralQuestionSetting> list) {
if (list == null) {
return;
}
for (GeneralQuestionSetting questionSetting : list) {
// 课程ID
final Long courseInfoId = questionSetting.getBusinessId();
final Long questionSettingId = questionSetting.getGeneralQuestionSettingId();
if (courseInfoId == null || questionSettingId == null) {
continue;
}
List<QuestionSettingDTO> questionSettingDTOList =
resourcesQuestionService.getGroupQuestionTypeCountAndSelectInfo(courseInfoId, questionSettingId);
questionSetting.setQuestionSettingOptions(questionSettingDTOList);
}
}
}

@ -1156,4 +1156,15 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
return res;
}
/**
* ID
*
* @param courseInfoId ID
* @param questionSettingId ID
* @return
*/
public List<QuestionSettingDTO> getGroupQuestionTypeCountAndSelectInfo(@NotNull(message = "课程ID不能为空") Long courseInfoId,
@NotNull(message = "课程题目配置ID不能为空") Long questionSettingId) {
return resourcesQuestionDao.getGroupQuestionTypeCountAndSelectInfo(courseInfoId, questionSettingId);
}
}

@ -79,6 +79,7 @@ public class GeneralQuestionSettingController{
}else{
PageQuery page = condition.getPageQuery();
generalQuestionSettingService.queryByConditionQuery(page);
generalQuestionSettingService.fullQuestionSettingOptions(page.getList());
return JsonResult.success(page);
}
}

@ -486,8 +486,8 @@ getCourseInfoByBusinessTypeAndTitle
@// 开课的课程表查询
@} else if(!isEmpty(businessType) && businessType == 'FROM_OPEN_COURSE') {
SELECT teacher_open_course_merge_course_info_id
FROM teacher_open_course_merge_course_info t
SELECT merge_course_info_id
FROM merge_course_info t
WHERE 1 AND ( 1
@if(!isEmpty(courseInfoTitle)){
AND (
@ -499,7 +499,46 @@ getCourseInfoByBusinessTypeAndTitle
@} else {
AND
@}
t.teacher_open_course_merge_course_info_id = #importCourseId#
t.merge_course_info_id = #importCourseId#
@}
)
@}
@}
getGroupQuestionTypeCountAndSelectInfo
===
* 考证离线题库,根据题目类型分组查询数量,和选中的情况
select
z.*,
z.select_count * z.single_score as single_type_total_score
from (
SELECT
t.question_type,
count( 1 ) AS total_count,
@// 该题目类型下,选择的数据
( SELECT count( 1 ) FROM general_resources_question_snapshot v
WHERE v.general_question_setting_id = ta.general_question_setting_id
AND v.question_type = t.question_type AND v.question_status = 1 ) AS select_count,
@// 该题目类型下设置的分数,可能会有不同分数的情况,默认取最大分数
( SELECT max( question_score ) FROM general_resources_question_snapshot v
WHERE v.general_question_setting_id = ta.general_question_setting_id
AND v.question_type = t.question_type AND v.question_status = 1 ) AS single_score
FROM
resources_question t
LEFT JOIN general_question_setting ta ON ta.general_question_setting_id = t.resources_question_id
WHERE
1 = 1
AND t.question_status = 1
@ // 课程ID
@if(!isEmpty(courseInfoId)){
AND t.id = #courseInfoId#
@}
@ // 开课题目配置ID
@if(!isEmpty(questionSettingId)){
AND ta.question_setting_id = #questionSettingId#
@}
GROUP BY
1,3,4
ORDER BY
t.question_type ASC
) z
Loading…
Cancel
Save