处理试题类型的问题
This commit is contained in:
parent
7402291bf7
commit
a1147c242a
@ -4,7 +4,7 @@ import ink.wgink.exceptions.RemoveException;
|
||||
import ink.wgink.exceptions.SaveException;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.interfaces.init.IInitBaseTable;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeDTO;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeQuestionDTO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
@ -51,5 +51,5 @@ public interface IQuestionTypeQuestionDao extends IInitBaseTable {
|
||||
* @return
|
||||
* @throws SearchException
|
||||
*/
|
||||
List<QuestionTypeDTO> listQuestionType(Map<String, Object> params) throws SearchException;
|
||||
List<QuestionTypeQuestionDTO> list(Map<String, Object> params) throws SearchException;
|
||||
}
|
||||
|
@ -0,0 +1,35 @@
|
||||
package ink.wgink.module.examine.pojo.dtos.question;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @ClassName: QuestionTypePO
|
||||
* @Description: 试题类型
|
||||
* @Author: CodeFactory
|
||||
* @Date: 2021-04-04 11:40:13
|
||||
* @Version: 3.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class QuestionTypeQuestionDTO extends QuestionTypeDTO {
|
||||
|
||||
@ApiModelProperty(name = "questionId", value = "试题ID")
|
||||
private String questionId;
|
||||
|
||||
public String getQuestionId() {
|
||||
return questionId;
|
||||
}
|
||||
|
||||
public void setQuestionId(String questionId) {
|
||||
this.questionId = questionId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder("{");
|
||||
sb.append("\"questionId\":\"")
|
||||
.append(questionId).append('\"');
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package ink.wgink.module.examine.service.question;
|
||||
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeDTO;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeQuestionDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -78,7 +78,7 @@ public interface IQuestionTypeQuestionService {
|
||||
* @param questionId
|
||||
* @return
|
||||
*/
|
||||
List<QuestionTypeDTO> listQuestionTypeByQuestionId(String questionId);
|
||||
List<QuestionTypeQuestionDTO> listByQuestionId(String questionId);
|
||||
|
||||
/**
|
||||
* 试题类型列表
|
||||
@ -86,6 +86,6 @@ public interface IQuestionTypeQuestionService {
|
||||
* @param questionIds
|
||||
* @return
|
||||
*/
|
||||
List<QuestionTypeDTO> listQuestionTypeByQuestionIds(List<String> questionIds);
|
||||
List<QuestionTypeQuestionDTO> listByQuestionIds(List<String> questionIds);
|
||||
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import ink.wgink.module.examine.dao.question.IQuestionDao;
|
||||
import ink.wgink.module.examine.enums.question.QuestionTypeEnum;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionDTO;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionOptionsDTO;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeDTO;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeQuestionDTO;
|
||||
import ink.wgink.module.examine.pojo.pos.question.QuestionPO;
|
||||
import ink.wgink.module.examine.pojo.vos.question.QuestionVO;
|
||||
import ink.wgink.module.examine.service.question.IQuestionOptionsService;
|
||||
@ -205,10 +205,8 @@ public class QuestionServiceImpl extends DefaultBaseService implements IQuestion
|
||||
List<QuestionOptionsDTO> questionOptionsDTOs = questionOptionsService.listByQuestionId(questionId);
|
||||
questionDTO.setOptions(questionOptionsDTOs);
|
||||
}
|
||||
if (!StringUtils.isBlank(questionDTO.getQuestionType())) {
|
||||
List<QuestionTypeDTO> questionTypeDTOs = questionTypeQuestionService.listQuestionTypeByQuestionId(questionId);
|
||||
setQuestionTypeName(questionDTO, questionTypeDTOs);
|
||||
}
|
||||
List<QuestionTypeQuestionDTO> questionTypeQuestionDTOS = questionTypeQuestionService.listByQuestionId(questionId);
|
||||
setQuestionTypeName(questionDTO, questionTypeQuestionDTOS);
|
||||
return questionDTO;
|
||||
}
|
||||
|
||||
@ -218,8 +216,8 @@ public class QuestionServiceImpl extends DefaultBaseService implements IQuestion
|
||||
List<QuestionDTO> questionDTOs = questionDao.list(params);
|
||||
if (!questionDTOs.isEmpty()) {
|
||||
List<String> questionIds = ArrayListUtil.listBeanStringIdValue(questionDTOs, "questionId", QuestionDTO.class);
|
||||
List<QuestionTypeDTO> questionTypeDTOs = questionTypeQuestionService.listQuestionTypeByQuestionIds(questionIds);
|
||||
setQuestionTypeName(questionDTOs, questionTypeDTOs);
|
||||
List<QuestionTypeQuestionDTO> questionTypeQuestionDTOS = questionTypeQuestionService.listByQuestionIds(questionIds);
|
||||
setQuestionTypeName(questionDTOs, questionTypeQuestionDTOS);
|
||||
}
|
||||
return questionDTOs;
|
||||
}
|
||||
@ -255,11 +253,11 @@ public class QuestionServiceImpl extends DefaultBaseService implements IQuestion
|
||||
* 设置试题类型名称
|
||||
*
|
||||
* @param questionDTOs
|
||||
* @param questionTypeDTOs
|
||||
* @param questionTypeQuestionDTOS
|
||||
*/
|
||||
private void setQuestionTypeName(List<QuestionDTO> questionDTOs, List<QuestionTypeDTO> questionTypeDTOs) {
|
||||
private void setQuestionTypeName(List<QuestionDTO> questionDTOs, List<QuestionTypeQuestionDTO> questionTypeQuestionDTOS) {
|
||||
questionDTOs.forEach(questionDTO -> {
|
||||
setQuestionTypeName(questionDTO, questionTypeDTOs);
|
||||
setQuestionTypeName(questionDTO, questionTypeQuestionDTOS);
|
||||
});
|
||||
}
|
||||
|
||||
@ -267,18 +265,21 @@ public class QuestionServiceImpl extends DefaultBaseService implements IQuestion
|
||||
* 设置试题类型名称
|
||||
*
|
||||
* @param questionDTO
|
||||
* @param questionTypeDTOs
|
||||
* @param questionTypeQuestionDTOS
|
||||
*/
|
||||
private void setQuestionTypeName(QuestionDTO questionDTO, List<QuestionTypeDTO> questionTypeDTOs) {
|
||||
private void setQuestionTypeName(QuestionDTO questionDTO, List<QuestionTypeQuestionDTO> questionTypeQuestionDTOS) {
|
||||
String questionType = "";
|
||||
String questionTypeName = "";
|
||||
for (QuestionTypeDTO questionTypeDTO : questionTypeDTOs) {
|
||||
for (QuestionTypeQuestionDTO questionTypeQuestionDTO : questionTypeQuestionDTOS) {
|
||||
if (!StringUtils.equals(questionDTO.getQuestionId(), questionTypeQuestionDTO.getQuestionId())) {
|
||||
continue;
|
||||
}
|
||||
if (!StringUtils.isBlank(questionType)) {
|
||||
questionType += ",";
|
||||
questionTypeName += ",";
|
||||
}
|
||||
questionType += questionTypeDTO.getQuestionTypeId();
|
||||
questionTypeName += questionTypeDTO.getTypeSummary();
|
||||
questionType += questionTypeQuestionDTO.getQuestionTypeId();
|
||||
questionTypeName += questionTypeQuestionDTO.getTypeSummary();
|
||||
}
|
||||
questionDTO.setQuestionType(questionType);
|
||||
questionDTO.setQuestionTypeName(questionTypeName);
|
||||
|
@ -2,7 +2,7 @@ package ink.wgink.module.examine.service.question.impl;
|
||||
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.module.examine.dao.question.IQuestionTypeQuestionDao;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeDTO;
|
||||
import ink.wgink.module.examine.pojo.dtos.question.QuestionTypeQuestionDTO;
|
||||
import ink.wgink.module.examine.service.question.IQuestionTypeQuestionService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -90,17 +90,17 @@ public class QuestionTypeQuestionServiceImpl extends DefaultBaseService implemen
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QuestionTypeDTO> listQuestionTypeByQuestionId(String questionId) {
|
||||
public List<QuestionTypeQuestionDTO> listByQuestionId(String questionId) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("questionId", questionId);
|
||||
return questionTypeQuestionDao.listQuestionType(params);
|
||||
return questionTypeQuestionDao.list(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QuestionTypeDTO> listQuestionTypeByQuestionIds(List<String> questionIds) {
|
||||
public List<QuestionTypeQuestionDTO> listByQuestionIds(List<String> questionIds) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("questionIds", questionIds);
|
||||
return questionTypeQuestionDao.listQuestionType(params);
|
||||
return questionTypeQuestionDao.list(params);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -57,7 +57,6 @@
|
||||
INSERT INTO exam_question(
|
||||
question_id,
|
||||
subject,
|
||||
question_type,
|
||||
type,
|
||||
choice_type,
|
||||
analysis,
|
||||
@ -73,7 +72,6 @@
|
||||
) VALUES(
|
||||
#{questionId},
|
||||
#{subject},
|
||||
#{questionType},
|
||||
#{type},
|
||||
#{choiceType},
|
||||
#{analysis},
|
||||
|
@ -8,6 +8,14 @@
|
||||
<result column="question_id" property="questionId"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="questionTypeQuestionDTO" type="ink.wgink.module.examine.pojo.dtos.question.QuestionTypeQuestionDTO">
|
||||
<result column="question_id" property="questionId"/>
|
||||
<result column="question_type_id" property="questionTypeId"/>
|
||||
<result column="question_parent_id" property="questionTypeParentId"/>
|
||||
<result column="type_name" property="typeName"/>
|
||||
<result column="type_summary" property="typeSummary"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 建表 -->
|
||||
<update id="createTable">
|
||||
CREATE TABLE IF NOT EXISTS `exam_question_type_question` (
|
||||
@ -70,14 +78,19 @@
|
||||
</select>
|
||||
|
||||
<!-- 试题类型列表 -->
|
||||
<select id="listQuestionType" parameterType="map" resultMap="ink.wgink.module.examine.dao.question.IQuestionTypeDao.questionTypeDTO">
|
||||
<select id="list" parameterType="map" resultMap="questionTypeQuestionDTO">
|
||||
SELECT
|
||||
t1.question_type_id,
|
||||
t1.question_type_parent_id,
|
||||
t1.type_name,
|
||||
t1.type_summary
|
||||
t1.type_summary,
|
||||
jt1.question_id
|
||||
FROM
|
||||
exam_question_type t1
|
||||
INNER JOIN
|
||||
exam_question_type_question jt1
|
||||
ON
|
||||
t1.question_type_id = jt1.question_type_id
|
||||
WHERE
|
||||
t1.is_delete = 0
|
||||
AND
|
||||
|
Loading…
Reference in New Issue
Block a user