考证辅导

beetlsql3-dev
Mlxa0324 2 years ago
parent 57e33792f5
commit 5fa79541a1

@ -68,6 +68,12 @@ public class QuestionSettingDTO {
*/
private String resourcesQuestionIdPlural;
/**
*
*/
private String courseInfoIdPlural;
}

@ -3,6 +3,7 @@ package com.ibeetl.jlw.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.jlw.util.EnumUtil;
@ -16,10 +17,7 @@ import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.GeneralQuestionLogDao;
import com.ibeetl.jlw.dao.GeneralQuestionSettingDao;
import com.ibeetl.jlw.dao.GeneralResourcesQuestionSnapshotDao;
import com.ibeetl.jlw.dao.QuestionLogSummaryDao;
import com.ibeetl.jlw.dao.*;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.QuestionSettingDTO;
import com.ibeetl.jlw.enums.*;
@ -72,6 +70,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
private GeneralResourcesQuestionSnapshotService generalResourcesQuestionSnapshotService;
@Autowired private ResourcesQuestionService resourcesQuestionService;
@Autowired private GeneralQuestionSettingRedisDelayQueueImpl generalQuestionSettingRedisDelayQueue;
@Autowired private CourseInfoDao courseInfoDao;
public PageQuery<GeneralQuestionSetting>queryByCondition(PageQuery query){
PageQuery ret = generalQuestionSettingDao.queryByCondition(query);
@ -576,10 +575,30 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
// 题目类型区分
Collection<QuestionSettingDTO> settingDTOList = settingQuery.getQuestionSettingOptions();
// 用于指定课程中拉取题目。暂时查询中不会用到
final String sourceCourseInfoIds = settingQuery.getSourceCourseInfoIds();
// 批量添加课程ID
settingDTOList.forEach(item -> item.setCourseInfoIdPlural(sourceCourseInfoIds));
// 如果指定的题目IDs不为空的话则需要对这些题目进行题目类型分组。
if(ObjectUtil.isNotEmpty(resourcesQuestionIdPlural)) {
// 指定课程
String joinFindCourseInfoIds = null;
if (StrUtil.isNotBlank(sourceCourseInfoIds)) {
String sourceCourseInfoIdsNew = ArrayUtil.join(sourceCourseInfoIds.split(","), "|", "_", "_");
List<String> findCourseInfoIds = courseInfoDao.createLambdaQuery().andLike(CourseInfo::getCourseInfoFullId, sourceCourseInfoIdsNew)
.andEq(CourseInfo::getCourseInfoStatus, 1)
.select(String.class, "course_info_id");
joinFindCourseInfoIds = ArrayUtil.join(findCourseInfoIds, ",");
}
ResourcesQuestionQuery questionQuery = new ResourcesQuestionQuery();
questionQuery.setQuestionStatus(1);
// 这里可能为空,就不做判断了。
questionQuery.setCourseInfoIds(joinFindCourseInfoIds);
questionQuery.setResourcesQuestionIds(resourcesQuestionIdPlural);
List<ResourcesQuestion> questionList = resourcesQuestionService.getValuesByQueryNotWithPermission(questionQuery);
@ -590,12 +609,14 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
// 设置分值
settingQuery.getQuestionSettingOptions().forEach(item -> {
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();
}
}
List<GeneralResourcesQuestionSnapshot> list =

@ -165,6 +165,8 @@ public class ResourcesQuestionController{
Serializable courseInfoIds = defaultIfNull(condition.getCourseInfoId(), condition.getCourseInfoIds());
ResourcesCourseInfoAuthDetailsVO resourcesCourseInfoAuthDetails =
universitiesCollegesJurisdictionCurriculumResourcesService.getResourcesCourseInfoAuthDetails(coreUser.getOrgId());
// 教师端和学生端只需要查询理论课程类,授权了的课程
Serializable ifNullCourseInfoIds = defaultIfNull(courseInfoIds, listJoin(resourcesCourseInfoAuthDetails.getTheoryCourseList(), CourseInfo::getCourseInfoId));
String ids = Arrays.stream(ifNullCourseInfoIds.toString().split(",")).map(item -> "_" + item + "_").collect(Collectors.joining("|"));

@ -90,6 +90,11 @@ public class GeneralQuestionSettingQuery extends PageParam {
*/
private String resourcesQuestionIdPlural;
/**
*
*/
private String sourceCourseInfoIds;
private String generalQuestionSettingIdPlural;
private String businessIdPlural;
private String generalQuestionSettingStatusPlural;

@ -781,8 +781,13 @@ getQuestionBySettingOptionDTO
t.course_info_id as business_course_info_id
@}
from resources_question t
inner join course_info ta on ta.course_info_id = t.course_info_id and ta.course_info_status = 1
where 1=1
and t.question_status = 1
@// 课程IDs
@if(!isEmpty(courseInfoIdPlural)) {
and ta.course_info_full_id regexp #sputil.joinEx(@java.util.Arrays.asList(strUtil.splitToArray(courseInfoIdPlural, ',')), '|', '_', '_')#
@}
@// 题目ID优先级高
@if(!isEmpty(resourcesQuestionIdPlural)) {
and find_in_set(t.resources_question_id, #resourcesQuestionIdPlural#)

@ -113,7 +113,7 @@ getValuesByQuery
and t.add_type =#addType#
@}
@if(!isEmpty(courseInfoFullId)){
and a.course_info_full_id like #courseInfoFullId+"%"#
and a.course_info_full_id like #'%\\_'+courseInfoFullId+'\\_%'#
@}
@if(isEmpty(seeSelf) && !isEmpty(userId)){
and t.user_id =#userId#

@ -520,14 +520,15 @@ getGroupQuestionTypeCountAndSelectInfo
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
general_resources_question_snapshot t
LEFT JOIN course_info tb ON tb.course_info_id = t.business_course_info_id
LEFT JOIN general_question_setting ta ON ta.general_question_setting_id = t.general_question_setting_id
WHERE
1 = 1
AND t.question_status = 1
@ // 课程ID
@if(!isEmpty(courseInfoId)){
AND t.course_info_id = #courseInfoId#
AND tb.course_info_full_id like #'%\\_'+courseInfoId+'\\_%'#
@}
@ // 开课题目配置ID
@if(!isEmpty(questionSettingId)){

Loading…
Cancel
Save