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

main
hujunpeng 4 months ago
parent 81dc613577
commit 59624a3f32
  1. 21
      ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java
  2. 31
      ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionService.java
  3. 43
      ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java
  4. 58
      ccic-exam/src/main/java/com/ccic/safeliab/web/QuestionController.java
  5. 35
      ccic-exam/src/main/resources/mappers/QuestionMapper.xml

@ -9,11 +9,6 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Mapper 接口
*
* @author Chill
*/
@Mapper
public interface QuestionMapper extends BaseMapper<QuestionCategories> {
@ -37,30 +32,32 @@ public interface QuestionMapper extends BaseMapper<QuestionCategories> {
@Param("serviceTypeId") Long serviceTypeId,
@Param("questionContent") String questionContent,
@Param("offset") int offset,
@Param("num") int num);
@Param("num") int num
);
/**
* 查询试题数量
* 查询试题数量
*
* @param industryId 监管行业
* @param serviceTypeId 服务类型
* @param questionContent 题干条件
* @return 数量
* @return 试题数量
*/
int getListSize(
@Param("industryId") Long industryId,
@Param("serviceTypeId") Long serviceTypeId,
@Param("questionContent") String questionContent);
@Param("questionContent") String questionContent
);
/**
* 获取行业
* 获取字典数据
*
* @return 行业
* @return 字典数据
*/
List<Industry> getIndustry();
/**
* 详情
* 获取试题详情
*
* @param id 试题ID
* @return 试题详情

@ -14,6 +14,7 @@ public interface QuestionService extends BaseService<QuestionCategories> {
/**
* 查询试题
*
* @param page 页码
* @param num 数量
* @param entity 题库entity
@ -23,6 +24,7 @@ public interface QuestionService extends BaseService<QuestionCategories> {
/**
* 删除试题
*
* @param ids 试题ID
* @return 删除结果
*/
@ -30,29 +32,32 @@ public interface QuestionService extends BaseService<QuestionCategories> {
/**
* 添加试题
* @param vo 试题 VO 列表
* @return 添加是否成功
*
* @param vo 试题vo
* @return 添加结果
*/
int add(List<InsQuestionVO> vo);
boolean addQuestion(List<InsQuestionVO> vo);
/**
* 修改试题
* @param vo 试题 VO 列表
* @return 添加是否成功
*/
boolean update(InsQuestionVO vo);
/**
* 获取行业
* @return 行业
*
* @param vo 试题vo
* @return 修改结果
*/
List<Industry> getDictionary();
boolean editQuestion(InsQuestionVO vo);
/**
* 详情
* 获取试题详情
*
* @param id 试题ID
* @return 试题详情
*/
QuestionCategories getQuestionDetail(String id);
/**
* 监管行业字典
*
* @return 字典数据
*/
List<Industry> findDictionary();
}

@ -16,22 +16,27 @@ import java.util.Map;
public class QuestionServiceImpl extends BaseServiceImpl<QuestionMapper, QuestionCategories> implements QuestionService {
@Override
public Map<String, Object> getList(int page,int num, QuestionCategories entity) {
public Map<String, Object> getList(int page, int num, QuestionCategories entity) {
int offset = (page - 1) * num;
Map<String, Object> map = new HashMap<>();
List<QuestionCategories> data = baseMapper.getList(
entity.getIndustryId(),
entity.getServiceTypeId(),
entity.getQuestionContent(),
offset,
num);
num
);
int total = baseMapper.getListSize(
entity.getIndustryId(),
entity.getServiceTypeId(),
entity.getQuestionContent());
entity.getQuestionContent()
);
map.put("data", data);
map.put("total", total);
return map;
}
@ -41,56 +46,60 @@ public class QuestionServiceImpl extends BaseServiceImpl<QuestionMapper, Questio
}
@Override
public int add(List<InsQuestionVO> vo) {
int count =0;
for(InsQuestionVO item :vo){
public boolean addQuestion(List<InsQuestionVO> vo) {
int count = 0;
for (InsQuestionVO item : vo) {
save(convertToEntity(item));
count ++;
count++;
}
return count;
return count > 0;
}
@Override
public boolean update(InsQuestionVO vo) {
public boolean editQuestion(InsQuestionVO vo) {
return updateById(convertToEntity(vo));
}
@Override
public List<Industry> getDictionary() {
return baseMapper.getIndustry();
public QuestionCategories getQuestionDetail(String id) {
return baseMapper.getQuestionDetail(Long.valueOf(id));
}
@Override
public QuestionCategories getQuestionDetail(String id){
return baseMapper.getQuestionDetail(Long.valueOf(id));
public List<Industry> findDictionary() {
return baseMapper.getIndustry();
}
/**
* 将VO转换为实体类
* 将VO转换为Entity
*/
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());
StringBuilder optionsBuilder = new StringBuilder();
if (vo.getOptionA()!= null) {
optionsBuilder.append("A:").append(vo.getOptionA()).append(",");
}
if (vo.getOptionB() != null) {
if (vo.getOptionB()!= null) {
optionsBuilder.append("B:").append(vo.getOptionB()).append(",");
}
if (vo.getOptionC() != null) {
if (vo.getOptionC()!= null) {
optionsBuilder.append("C:").append(vo.getOptionC()).append(",");
}
if (vo.getOptionD() != null) {
if (vo.getOptionD()!= null) {
optionsBuilder.append("D:").append(vo.getOptionD());
}
String options = optionsBuilder.toString();
entity.setOptions(options);
return entity;
}
}

@ -24,7 +24,7 @@ public class QuestionController {
* @return 查询结果
*/
@PostMapping("/getList")
public R list(@RequestBody InsQuestionVO vo) {
public R getList(@RequestBody InsQuestionVO vo) {
QuestionCategories entity = new QuestionCategories();
entity.setIndustryId(vo.getIndustryId());
entity.setServiceTypeId(vo.getServiceTypeId());
@ -39,47 +39,63 @@ public class QuestionController {
* @return 删除结果
*/
@PostMapping("/delQuestion")
public R deleteList(@RequestBody List<Long> ids) {
public R delQuestion(@RequestBody List<Long> ids) {
boolean flag = questionService.delQuestion(ids);
if(flag){
if (flag) {
return R.ok();
}else{
} else {
return R.error();
}
}
/**
* 添加试题
* @param vo 试题vo
* @return 添加结果
*/
@PostMapping("/add")
public R add(@RequestBody List<InsQuestionVO> vo) {
return R.ok().data(questionService.add(vo));
@PostMapping("/addQuestion")
public R addQuestion(@RequestBody List<InsQuestionVO> vo) {
boolean flag = questionService.addQuestion(vo);
if (flag) {
return R.ok();
} else {
return R.error();
}
}
/**
* 修改试题
* @param vo 试题vo
* @return 修改结果
*/
@PostMapping("/update")
public R add(@RequestBody InsQuestionVO vo) {
return R.ok().data(questionService.update(vo));
@PostMapping("/editQuestion")
public R editQuestion(@RequestBody InsQuestionVO vo) {
boolean flag = questionService.editQuestion(vo);
if (flag) {
return R.ok();
} else {
return R.error();
}
}
/**
* 行业查询
* @return 行业
* 获取试题详情
* @param id 试题ID
* @return 试题详情
*/
@GetMapping("/findIndustry")
public R findIndustry() {
List<Industry> tree = questionService.getDictionary();
return R.ok().data(tree);
@GetMapping("/getQuestionDetail")
public R getQuestionDetail(String id) {
QuestionCategories data = questionService.getQuestionDetail(id);
return R.ok().data(data);
}
/**
* 题目详情
* 查询字典数据
* @return 字典数据
*/
@GetMapping("/getDetail")
public R getDetail(String id) {
QuestionCategories data = questionService.getQuestionDetail(id);
return R.ok().data(data);
@GetMapping("/findIndustry")
public R findIndustry() {
List<Industry> tree = questionService.findDictionary();
return R.ok().data(tree);
}
}

@ -1,22 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccic.safeliab.dao.QuestionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="IndustryResultMap" type="com.ccic.safeliab.entity.Industry">
<id column="industry_id" property="industryId"/>
<result column="industry_name" property="industryName"/>
<id column="industry_id" property="industryId" />
<result column="industry_name" property="industryName" />
</resultMap>
<resultMap id="QuestionCategoriesResultMap" type="com.ccic.safeliab.entity.QuestionCategories">
<id column="id" property="id"/>
<result column="question_types" property="questionTypes"/>
<result column="industry_id" property="industryId"/>
<result column="service_type_id" property="serviceTypeId"/>
<result column="question_content" property="questionContent"/>
<result column="answer" property="answer"/>
<result column="options" property="options"/>
<result column="status" property="status"/>
<result column="is_deleted" property="isDeleted"/>
<id column="id" property="id" />
<result column="question_types" property="questionTypes" />
<result column="industry_id" property="industryId" />
<result column="service_type_id" property="serviceTypeId" />
<result column="question_content" property="questionContent" />
<result column="answer" property="answer" />
<result column="options" property="options" />
<result column="status" property="status" />
<result column="is_deleted" property="isDeleted" />
</resultMap>
<select id="getList" resultMap="QuestionCategoriesResultMap">
SELECT
id,
@ -44,6 +47,7 @@
ORDER BY id DESC
LIMIT #{offset}, #{num};
</select>
<select id="getListSize" resultType="int">
SELECT
COUNT(id)
@ -61,13 +65,15 @@
</if>
</where>
</select>
<select id="getIndustry" resultMap="IndustryResultMap">
select
SELECT
industry_id,
industry_name
from tbl_industry
where status = 1
FROM tbl_industry
WHERE status = 1
</select>
<select id="getQuestionDetail" resultMap="QuestionCategoriesResultMap">
SELECT
id,
@ -87,4 +93,5 @@
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save