题库管理和试卷管理代码提交

main
hujunpeng 4 months ago
parent d3f6fb7f51
commit 81dc613577
  1. 14
      ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java
  2. 34
      ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionService.java
  3. 41
      ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java
  4. 20
      ccic-exam/src/main/java/com/ccic/safeliab/vo/InsQuestionVO.java
  5. 31
      ccic-exam/src/main/java/com/ccic/safeliab/web/QuestionController.java
  6. 2
      ccic-exam/src/main/resources/mappers/QuestionMapper.xml

@ -23,13 +23,13 @@ public interface QuestionMapper extends BaseMapper<QuestionCategories> {
QuestionCategories selectQuestionById(Integer questionId);
/**
* 查询当前页数据
* 查询试题
*
* @param industryId 监管行业
* @param serviceTypeId 服务类型
* @param questionContent 题干条件
* @param offset 偏移量
* @param num 每页显示的记录
* @param num 每页数
* @return 当前页数据
*/
List<QuestionCategories> getList(
@ -40,7 +40,7 @@ public interface QuestionMapper extends BaseMapper<QuestionCategories> {
@Param("num") int num);
/**
* 查询总数量
* 查询试题总数量
*
* @param industryId 监管行业
* @param serviceTypeId 服务类型
@ -60,10 +60,10 @@ public interface QuestionMapper extends BaseMapper<QuestionCategories> {
List<Industry> getIndustry();
/**
* 查询当题目详情
* 题目详情
*
* @param id 监管行业
* @return 详情
* @param id 试题ID
* @return 题详情
*/
QuestionCategories getDetail(@Param("id") Long id);
QuestionCategories getQuestionDetail(@Param("id") Long id);
}

@ -11,29 +11,22 @@ import java.util.Map;
@Service
public interface QuestionService extends BaseService<QuestionCategories> {
/**
* 获取题库列表
* 查询试题
* @param page 页码
* @param num 每页数量
* @param entity 题库
* @return 题库列表
* @param num 数量
* @param entity 题库entity
* @return 查询结果
*/
Map<String, Object> getList(int page, int num, QuestionCategories entity);
/**
* 根据主键删除题库记录
* @param id 题库记录的主键
* @return 删除操作是否成功
*/
boolean deleteQuestionById(Long id);
/**
* 根据主键批量删除题库记录
* @param ids 题库记录的主键列表
* @return 删除操作是否成功
* 删除试题
* @param ids 试题ID
* @return 删除结果
*/
boolean deleteQuestionListByIds(List<Long> ids);
boolean delQuestion(List<Long> ids);
/**
* 添加试题
@ -56,9 +49,10 @@ public interface QuestionService extends BaseService<QuestionCategories> {
List<Industry> getDictionary();
/**
* 获取题库列表
* @param id 题目ID
* @return 题目详情
* 题目详情
*
* @param id 试题ID
* @return 试题详情
*/
QuestionCategories getDetail(String id);
QuestionCategories getQuestionDetail(String id);
}

@ -7,7 +7,6 @@ import com.ccic.safeliab.vo.InsQuestionVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -37,14 +36,7 @@ public class QuestionServiceImpl extends BaseServiceImpl<QuestionMapper, Questio
}
@Override
public boolean deleteQuestionById(Long id) {
List<Long> ids = new ArrayList<>();
ids.add(id);
return deleteLogic(ids);
}
@Override
public boolean deleteQuestionListByIds(List<Long> ids) {
public boolean delQuestion(List<Long> ids) {
return deleteLogic(ids);
}
@ -69,45 +61,36 @@ public class QuestionServiceImpl extends BaseServiceImpl<QuestionMapper, Questio
}
@Override
public QuestionCategories getDetail(String id){
return baseMapper.getDetail(Long.valueOf(id));
public QuestionCategories getQuestionDetail(String id){
return baseMapper.getQuestionDetail(Long.valueOf(id));
}
/**
* VO 转换为实体类
* @param vo 试题 VO
* @return 试题实体类
* 将VO转换为实体类
*/
private QuestionCategories convertToEntity(InsQuestionVO vo) {
QuestionCategories entity = new QuestionCategories();
// 赋值从父类继承的属性
entity.setId(vo.getId());
entity.setQuestionTypes(vo.getQuestionTypes());
entity.setIndustryId(vo.getIndustryId());
entity.setServiceTypeId(vo.getServiceTypeId());
entity.setQuestionContent(vo.getQuestionContent());
entity.setAnswer(vo.getAnswer());
// 处理答题选项,拼接成字符串
InsQuestionVO.AnswerOptions answerOptions = vo.getAnswerOptions();
if (answerOptions != null) {
StringBuilder optionsBuilder = new StringBuilder();
if (answerOptions.A != null) {
optionsBuilder.append("A:").append(answerOptions.A).append(",");
if (vo.getOptionA()!= null) {
optionsBuilder.append("A:").append(vo.getOptionA()).append(",");
}
if (answerOptions.B != null) {
optionsBuilder.append("B:").append(answerOptions.B).append(",");
if (vo.getOptionB() != null) {
optionsBuilder.append("B:").append(vo.getOptionB()).append(",");
}
if (answerOptions.C != null) {
optionsBuilder.append("C:").append(answerOptions.C).append(",");
if (vo.getOptionC() != null) {
optionsBuilder.append("C:").append(vo.getOptionC()).append(",");
}
if (answerOptions.D != null) {
optionsBuilder.append("D:").append(answerOptions.D);
if (vo.getOptionD() != null) {
optionsBuilder.append("D:").append(vo.getOptionD());
}
String options = optionsBuilder.toString();
entity.setOptions(options);
}
return entity;
}
}

@ -5,8 +5,7 @@ import lombok.Getter;
import lombok.Setter;
/**
* 值对象VO用于在不同层之间传递题目相关数据
* 该类的属性与数据库中题目表的字段相对应以满足数据传输需求
* vo 试题vo
*/
@Getter
@Setter
@ -15,15 +14,14 @@ public class InsQuestionVO extends QuestionCategories {
private int num;
// 页码
private int page;
// 答案
AnswerOptions answerOptions;
public static class AnswerOptions {
public String A;
public String B;
public String C;
public String D;
}
// 答案A
public String optionA;
// 答案B
public String optionB;
// 答案C
public String optionC;
// 答案D
public String optionD;
}

@ -19,11 +19,11 @@ public class QuestionController {
private QuestionService questionService;
/**
* 获取题库
* @param vo 题库对象VO
* 查询试题
* @param vo 试题vo
* @return 查询结果
*/
@PostMapping("/list")
@PostMapping("/getList")
public R list(@RequestBody InsQuestionVO vo) {
QuestionCategories entity = new QuestionCategories();
entity.setIndustryId(vo.getIndustryId());
@ -34,21 +34,18 @@ public class QuestionController {
}
/**
* 删除单个试题
* 删除试题
* @param ids 试题ID
* @return 删除结果
*/
@GetMapping("/delete")
public R delete(String id) {
boolean resultFlg = questionService.deleteQuestionById(Long.valueOf((id)));
return R.ok().data(resultFlg);
}
/**
* 删除多个试题
*/
@PostMapping("/deleteList")
@PostMapping("/delQuestion")
public R deleteList(@RequestBody List<Long> ids) {
boolean resultFlg = questionService.deleteQuestionListByIds(ids);
return R.ok().data(resultFlg);
boolean flag = questionService.delQuestion(ids);
if(flag){
return R.ok();
}else{
return R.error();
}
}
/**
@ -82,7 +79,7 @@ public class QuestionController {
*/
@GetMapping("/getDetail")
public R getDetail(String id) {
QuestionCategories data = questionService.getDetail(id);
QuestionCategories data = questionService.getQuestionDetail(id);
return R.ok().data(data);
}
}

@ -68,7 +68,7 @@
from tbl_industry
where status = 1
</select>
<select id="getDetail" resultMap="QuestionCategoriesResultMap">
<select id="getQuestionDetail" resultMap="QuestionCategoriesResultMap">
SELECT
id,
question_types,

Loading…
Cancel
Save