Browse Source

bug修复

master
luogw 17 hours ago
parent
commit
121f93b459
  1. 25
      src/main/java/com/project/appeal/domain/service/Impl/SearchAppealDomainServiceImpl.java
  2. 6
      src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java
  3. 2
      src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

25
src/main/java/com/project/appeal/domain/service/Impl/SearchAppealDomainServiceImpl.java

@ -1,5 +1,7 @@
package com.project.appeal.domain.service.Impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -89,7 +91,7 @@ public class SearchAppealDomainServiceImpl implements SearchAppealDomainService
Map<Long, QuestionEntity> questionEntityMap = questionBaseService.listByIds(questionIdList).stream()
.collect(Collectors.toMap(questionEntity -> questionEntity.getId(), questionEntity -> questionEntity));
//知识点拼接
//知识点拼接和填充题目相关信息
Set<Long> kpIdSet = new HashSet<>();
appealDTOList.forEach(appealDTO -> {
if (questionEntityMap.containsKey(appealDTO.getQuestionId())){
@ -98,9 +100,28 @@ public class SearchAppealDomainServiceImpl implements SearchAppealDomainService
appealDTO.setSubLineName(taskIdToSubLineNameMap.get(appealDTO.getTaskId()));
appealDTO.setQuestionContent(questionDetail.getQuestionContent());
appealDTO.setRightAnswer(questionDetail.getRightAnswer());
appealDTO.setKpIdList(questionEntity.getKpIdList());
kpIdSet.addAll(questionEntity.getKpIdList());
//构建参考答案
String rightAnswer = questionDetail.getRightAnswer();
List<String> rightAnswerList = new ArrayList<>();
if (StrUtil.isNotBlank(rightAnswer)) {
rightAnswerList = rightAnswer.contains(",")
? new ArrayList<>(Arrays.asList(rightAnswer.split(",")))
: rightAnswer.chars().mapToObj(c -> String.valueOf((char) c)).collect(Collectors.toCollection(ArrayList::new));
}
// 按 ABCD 顺序提取完整答案
Map<String, String> options = questionDetail.getOptions();
List<String> optionOrder = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
final List<String> finalRightAnswerList = rightAnswerList;
String fullRightAnswer = optionOrder.stream()
.filter(finalRightAnswerList::contains)
.map(opt -> opt + "." + options.get(opt)).filter(StrUtil::isNotBlank)
.collect(Collectors.joining(","));
appealDTO.setRightAnswer(fullRightAnswer);
}
});

6
src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java

@ -49,9 +49,9 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask
"SELECT 1 FROM evaluator_task_user tu WHERE tu.task_id = evaluator_task.id AND tu.user_id = '%s' and tu.deleted = 0 ",
SecurityUtils.getUserId()
));
if (StrUtil.isNotBlank(param.getName())) {
queryWrapper.like(TaskEntity::getName , param.getName());
String name = param.getName();
if (name != null && StrUtil.isNotBlank(name.trim())) {
queryWrapper.like(TaskEntity::getName , name.trim());
}
if (Objects.nonNull(param.getLineId())) {
queryWrapper.eq(TaskEntity::getLineId , param.getLineId());

2
src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

@ -34,7 +34,7 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService {
@Override
public Result<PageResult<TaskDTO>> search(TaskParam param) throws Exception {
LambdaQueryWrapper<TaskEntity> queryWrapper = new LambdaQueryWrapper<>();
if (StrUtil.isNotBlank(param.getName().trim())) {
if (param.getName() != null && StrUtil.isNotBlank(param.getName().trim())) {
queryWrapper.like(TaskEntity::getName , param.getName().trim());
}
if (Objects.nonNull(param.getLineId())) {

Loading…
Cancel
Save