Commit d226227a by 郑云飞

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbQuestionBankServiceImpl.java
parents 48543b2f 4d38e523
...@@ -167,7 +167,7 @@ mybatis-plus: ...@@ -167,7 +167,7 @@ mybatis-plus:
dbConfig: dbConfig:
# 主键类型 # 主键类型
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
idType: ASSIGN_ID idType: AUTO
# 逻辑已删除值 # 逻辑已删除值
logicDeleteValue: 2 logicDeleteValue: 2
# 逻辑未删除值 # 逻辑未删除值
......
...@@ -13,6 +13,7 @@ import com.ruoyi.common.enums.BusinessType; ...@@ -13,6 +13,7 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.school.paper.domain.bo.DbQuestionBankBo; import com.ruoyi.school.paper.domain.bo.DbQuestionBankBo;
import com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo; import com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo; import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo;
import com.ruoyi.school.paper.service.IDbQuestionBankService; import com.ruoyi.school.paper.service.IDbQuestionBankService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -45,7 +46,6 @@ public class DbQuestionBankController extends BaseController { ...@@ -45,7 +46,6 @@ public class DbQuestionBankController extends BaseController {
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<DbQuestionBankVo> list(DbQuestionBankBo bo, PageQuery pageQuery) { public TableDataInfo<DbQuestionBankVo> list(DbQuestionBankBo bo, PageQuery pageQuery) {
return iDbQuestionBankService.queryPageList(bo, pageQuery); return iDbQuestionBankService.queryPageList(bo, pageQuery);
} }
...@@ -70,6 +70,17 @@ public class DbQuestionBankController extends BaseController { ...@@ -70,6 +70,17 @@ public class DbQuestionBankController extends BaseController {
} }
/** /**
* [PC端]获取题目详细信息
*
* @param id 题目ID
* @return 题目详细信息
*/
@GetMapping("detail/{id}")
public R<DbQuestionBankAndAnswerVo> getDetailInfoById(@NotNull(message = "主键不能为空") @PathVariable Long id) {
return R.ok(iDbQuestionBankService.getById(id));
}
/**
* 新增题库主 * 新增题库主
*/ */
@Log(title = "题库主", businessType = BusinessType.INSERT) @Log(title = "题库主", businessType = BusinessType.INSERT)
...@@ -103,6 +114,19 @@ public class DbQuestionBankController extends BaseController { ...@@ -103,6 +114,19 @@ public class DbQuestionBankController extends BaseController {
} }
/** /**
* [PC端] 修改题目信息
*
* @param bo 修改信息
* @return 操作结果
*/
@Log(title = "题库", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/question")
public R<Void> editQuestionAndAnswerRecords(@Validated(EditGroup.class) @RequestBody QuestionBankAndAnswerBo bo) {
return toAjax(iDbQuestionBankService.updateByBo(bo));
}
/**
* 删除题库主 * 删除题库主
* *
* @param ids 主键串 * @param ids 主键串
......
...@@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor; ...@@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.Objects; import java.util.Objects;
/** /**
...@@ -35,12 +36,18 @@ public class TestPaperController extends BaseController { ...@@ -35,12 +36,18 @@ public class TestPaperController extends BaseController {
*/ */
@Log(title = "开始考试", businessType = BusinessType.OTHER) @Log(title = "开始考试", businessType = BusinessType.OTHER)
@GetMapping("/startTest/{paperId}") @GetMapping("/startTest/{paperId}")
public R<TestPaperVo> startTest(@PathVariable("paperId") Long paperId) { public R<TestPaperVo> startTest(@NotNull(message = "试卷ID不能为空") @PathVariable("paperId") Long paperId) {
Long userId = getUserId(); Long userId = getUserId();
Objects.requireNonNull(userId, "未检查到合法账户信息"); Objects.requireNonNull(userId, "未检查到合法账户信息");
return R.ok(testPaperService.generateTestPaper(userId, paperId)); return R.ok(testPaperService.generateTestPaper(userId, paperId));
} }
/**
* 交卷
*
* @param bo 试卷参数
* @return 无返回值
*/
@Log(title = "交卷", businessType = BusinessType.INSERT) @Log(title = "交卷", businessType = BusinessType.INSERT)
@PostMapping("/endTest/") @PostMapping("/endTest/")
public R<Void> paperTestEnd(@RequestBody TestPaperAnswerBo bo) { public R<Void> paperTestEnd(@RequestBody TestPaperAnswerBo bo) {
......
...@@ -63,6 +63,6 @@ public class DbTestPaperRecordDetail extends BaseEntity { ...@@ -63,6 +63,6 @@ public class DbTestPaperRecordDetail extends BaseEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private Date cerateTime; private Date createTime;
} }
package com.ruoyi.school.paper.domain.bo; package com.ruoyi.school.paper.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/** /**
* 题目答案业务对象 db_question_bank_answer * 题目答案业务对象 db_question_bank_answer
...@@ -48,13 +47,13 @@ public class DbQuestionBankAnswerBo extends BaseEntity { ...@@ -48,13 +47,13 @@ public class DbQuestionBankAnswerBo extends BaseEntity {
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;
/** /**
* 状态:0正常, 1删除 * 状态:0正常, 1删除
*/ */
@NotNull(message = "状态:0正常, 1删除不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotNull(message = "状态:0正常, 1删除不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer status; private Integer status;
......
package com.ruoyi.school.paper.domain.bo; package com.ruoyi.school.paper.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/** /**
* 题库主业务对象 db_question_bank * 题库主业务对象 db_question_bank
...@@ -48,8 +47,8 @@ public class DbQuestionBankBo extends BaseEntity { ...@@ -48,8 +47,8 @@ public class DbQuestionBankBo extends BaseEntity {
/** /**
* 类型:1典例精讲 * 类型:1典例精讲
*/ */
@NotNull(message = "类型:1典例精讲不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotNull(message = "类型:1典例精讲不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer type; private int type;
/** /**
* 强度:1基础,2中等,3提高 * 强度:1基础,2中等,3提高
...@@ -78,25 +77,25 @@ public class DbQuestionBankBo extends BaseEntity { ...@@ -78,25 +77,25 @@ public class DbQuestionBankBo extends BaseEntity {
/** /**
* 解答过程 * 解答过程
*/ */
@NotBlank(message = "解答过程不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotBlank(message = "解答过程不能为空", groups = { AddGroup.class, EditGroup.class })
private String resolveCourse; private String resolveCourse;
/** /**
* 解答视频 * 解答视频
*/ */
@NotBlank(message = "解答视频不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotBlank(message = "解答视频不能为空", groups = { AddGroup.class, EditGroup.class })
private String resolveVideo; private String resolveVideo;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;
/** /**
* 状态:0正常,1删除 * 状态:0正常,1删除
*/ */
@NotNull(message = "状态:0正常,1删除不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotNull(message = "状态:0正常,1删除不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer status; private Integer status;
......
package com.ruoyi.school.paper.domain.bo; package com.ruoyi.school.paper.domain.bo;
import com.ruoyi.school.paper.domain.DbQuestionBank;
import com.ruoyi.school.paper.domain.DbQuestionBankAnswer;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -17,11 +15,11 @@ import java.util.List; ...@@ -17,11 +15,11 @@ import java.util.List;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class QuestionBankAndAnswerBo extends DbQuestionBank { public class QuestionBankAndAnswerBo extends DbQuestionBankBo {
/** /**
* 选择题对应选项 * 选择题对应选项
*/ */
private List<DbQuestionBankAnswer> options; private List<DbQuestionBankAnswerBo> options;
} }
package com.ruoyi.school.paper.domain.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 问题详情实体类
* <p>created in 2023/7/24 10:08
*
* @author WangMin
* @version 1.0
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class DbQuestionBankAndAnswerVo extends DbQuestionBankVo {
/**
* 选择题对应选项
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<DbQuestionBankAnswerVo> options;
}
package com.ruoyi.school.paper.mapper; package com.ruoyi.school.paper.mapper;
import com.ruoyi.school.paper.domain.DbQuestionBank; import com.ruoyi.school.paper.domain.DbQuestionBank;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo; import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus; import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.io.Serializable;
/** /**
* 题库主Mapper接口 * 题库主Mapper接口
* *
...@@ -14,4 +17,11 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -14,4 +17,11 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface DbQuestionBankMapper extends BaseMapperPlus<DbQuestionBankMapper, DbQuestionBank, DbQuestionBankVo> { public interface DbQuestionBankMapper extends BaseMapperPlus<DbQuestionBankMapper, DbQuestionBank, DbQuestionBankVo> {
/**
* 根据题目ID查询题目详细信息
*
* @param id 题目ID
* @return 题目详细信息
*/
DbQuestionBankAndAnswerVo selectDetailById(Serializable id);
} }
...@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.mapper; ...@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.mapper;
import com.ruoyi.school.paper.domain.DbTestPaperRecordDetail; import com.ruoyi.school.paper.domain.DbTestPaperRecordDetail;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo; import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus; import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
/** /**
* 答题记录详情Mapper接口 * 答题记录详情Mapper接口
...@@ -10,6 +11,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; ...@@ -10,6 +11,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
* @author zyf * @author zyf
* @date 2023-07-20 * @date 2023-07-20
*/ */
@Mapper
public interface DbTestPaperRecordDetailMapper extends BaseMapperPlus<DbTestPaperRecordDetailMapper, DbTestPaperRecordDetail, DbTestPaperRecordDetailVo> { public interface DbTestPaperRecordDetailMapper extends BaseMapperPlus<DbTestPaperRecordDetailMapper, DbTestPaperRecordDetail, DbTestPaperRecordDetailVo> {
} }
package com.ruoyi.school.paper.service; package com.ruoyi.school.paper.service;
import com.ruoyi.school.paper.domain.DbQuestionBank; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.school.paper.domain.bo.DbQuestionBankBo;
import com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo; import com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo; import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo;
import com.ruoyi.school.paper.domain.bo.DbQuestionBankBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -23,6 +23,15 @@ public interface IDbQuestionBankService { ...@@ -23,6 +23,15 @@ public interface IDbQuestionBankService {
*/ */
DbQuestionBankVo queryById(Long id); DbQuestionBankVo queryById(Long id);
/**
* 查询题目详细信息
*
* @param id 题目ID
* @return 题目信息
*/
DbQuestionBankAndAnswerVo getById(Long id);
/** /**
* 查询题库主列表 * 查询题库主列表
*/ */
...@@ -38,7 +47,9 @@ public interface IDbQuestionBankService { ...@@ -38,7 +47,9 @@ public interface IDbQuestionBankService {
*/ */
Boolean insertByBo(DbQuestionBankBo bo); Boolean insertByBo(DbQuestionBankBo bo);
/** 新增题库 /**
* 新增题库
*
* @param bo 题目参数及答案列表 * @param bo 题目参数及答案列表
* @return 操作结果 * @return 操作结果
*/ */
...@@ -49,6 +60,8 @@ public interface IDbQuestionBankService { ...@@ -49,6 +60,8 @@ public interface IDbQuestionBankService {
*/ */
Boolean updateByBo(DbQuestionBankBo bo); Boolean updateByBo(DbQuestionBankBo bo);
boolean updateByBo(QuestionBankAndAnswerBo bo);
/** /**
* 校验并批量删除题库主信息 * 校验并批量删除题库主信息
*/ */
......
...@@ -12,8 +12,10 @@ import com.ruoyi.common.utils.StringUtils; ...@@ -12,8 +12,10 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.school.paper.domain.DbQuestionBank; import com.ruoyi.school.paper.domain.DbQuestionBank;
import com.ruoyi.school.paper.domain.DbQuestionBankAnswer; import com.ruoyi.school.paper.domain.DbQuestionBankAnswer;
import com.ruoyi.school.paper.domain.bo.DbQuestionBankAnswerBo;
import com.ruoyi.school.paper.domain.bo.DbQuestionBankBo; import com.ruoyi.school.paper.domain.bo.DbQuestionBankBo;
import com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo; import com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo;
import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo; import com.ruoyi.school.paper.domain.vo.DbQuestionBankVo;
import com.ruoyi.school.paper.mapper.DbQuestionBankAnswerMapper; import com.ruoyi.school.paper.mapper.DbQuestionBankAnswerMapper;
import com.ruoyi.school.paper.mapper.DbQuestionBankMapper; import com.ruoyi.school.paper.mapper.DbQuestionBankMapper;
...@@ -22,9 +24,7 @@ import lombok.RequiredArgsConstructor; ...@@ -22,9 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collection; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* 题库主Service业务层处理 * 题库主Service业务层处理
...@@ -50,6 +50,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService { ...@@ -50,6 +50,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@Override
public DbQuestionBankAndAnswerVo getById(Long id) {
return baseMapper.selectDetailById(id);
}
/** /**
* 查询题库主列表 * 查询题库主列表
*/ */
...@@ -75,7 +80,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService { ...@@ -75,7 +80,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
lqw.eq(bo.getCategoryId() != null, DbQuestionBank::getCategoryId, bo.getCategoryId()); lqw.eq(bo.getCategoryId() != null, DbQuestionBank::getCategoryId, bo.getCategoryId());
lqw.eq(bo.getSpecies() != null, DbQuestionBank::getSpecies, bo.getSpecies()); lqw.eq(bo.getSpecies() != null, DbQuestionBank::getSpecies, bo.getSpecies());
lqw.eq(bo.getPhaseId() != null, DbQuestionBank::getPhaseId, bo.getPhaseId()); lqw.eq(bo.getPhaseId() != null, DbQuestionBank::getPhaseId, bo.getPhaseId());
lqw.eq(bo.getType() != null, DbQuestionBank::getType, bo.getType()); lqw.eq(bo.getType() > -1, DbQuestionBank::getType, bo.getType());
lqw.eq(bo.getIntensity() != null, DbQuestionBank::getIntensity, bo.getIntensity()); lqw.eq(bo.getIntensity() != null, DbQuestionBank::getIntensity, bo.getIntensity());
lqw.eq(StringUtils.isNotBlank(bo.getTopic()), DbQuestionBank::getTopic, bo.getTopic()); lqw.eq(StringUtils.isNotBlank(bo.getTopic()), DbQuestionBank::getTopic, bo.getTopic());
lqw.eq(StringUtils.isNotBlank(bo.getRightAnswers()), DbQuestionBank::getRightAnswers, bo.getRightAnswers()); lqw.eq(StringUtils.isNotBlank(bo.getRightAnswers()), DbQuestionBank::getRightAnswers, bo.getRightAnswers());
...@@ -123,9 +128,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService { ...@@ -123,9 +128,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
// 判断是否选择题,是就添加选择题选项 // 判断是否选择题,是就添加选择题选项
if ( insertRecord.getSpecies() == 2 && CollUtil.isNotEmpty(bo.getOptions())) { if ( insertRecord.getSpecies() == 2 && CollUtil.isNotEmpty(bo.getOptions())) {
List<DbQuestionBankAnswer> options = bo.getOptions(); List<DbQuestionBankAnswer> options = new ArrayList<>(bo.getOptions().size());
for (DbQuestionBankAnswer option : options) { for (DbQuestionBankAnswerBo option : bo.getOptions()) {
option.setQuestionBankId(insertRecord.getId()); DbQuestionBankAnswer bankAnswer = BeanUtil.toBean(option, DbQuestionBankAnswer.class);
bankAnswer.setQuestionBankId(insertRecord.getId());
options.add(bankAnswer);
} }
answerInsertFlag = questionBankAnswerMapper.insertBatch(options); answerInsertFlag = questionBankAnswerMapper.insertBatch(options);
} }
...@@ -152,6 +159,35 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService { ...@@ -152,6 +159,35 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
} }
/** /**
* 修改题库
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateByBo(QuestionBankAndAnswerBo bo) {
DbQuestionBank updateRecord = BeanUtil.toBean(bo, DbQuestionBank.class);
validEntityBeforeSave(updateRecord);
boolean questionUpdateFlag = baseMapper.updateById(updateRecord) > 0;
// 若为选择题则同步插入至选项答案中
boolean answerUpdateFlag = false;
if (questionUpdateFlag && updateRecord.getSpecies() == 2 && CollUtil.isNotEmpty(bo.getOptions())) {
// 删除选择题旧有数据
LambdaQueryWrapper<DbQuestionBankAnswer> wrapper = new LambdaQueryWrapper<>();
Objects.requireNonNull(bo.getId(), "题目ID不能为空");
wrapper.eq(DbQuestionBankAnswer::getQuestionBankId, bo.getId());
questionBankAnswerMapper.delete(wrapper);
// 插入新值
List<DbQuestionBankAnswer> options = new ArrayList<>(bo.getOptions().size());
for (DbQuestionBankAnswerBo option : bo.getOptions()) {
DbQuestionBankAnswer bankAnswer = BeanUtil.toBean(option, DbQuestionBankAnswer.class);
bankAnswer.setQuestionBankId(updateRecord.getId());
options.add(bankAnswer);
}
answerUpdateFlag = questionBankAnswerMapper.insertBatch(options);
}
return questionUpdateFlag && answerUpdateFlag;
}
/**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(DbQuestionBank entity) { private void validEntityBeforeSave(DbQuestionBank entity) {
......
...@@ -67,7 +67,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet ...@@ -67,7 +67,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
lqw.eq(bo.getScore() != null, DbTestPaperRecordDetail::getScore, bo.getScore()); lqw.eq(bo.getScore() != null, DbTestPaperRecordDetail::getScore, bo.getScore());
lqw.eq(bo.getGood() != null, DbTestPaperRecordDetail::getGood, bo.getGood()); lqw.eq(bo.getGood() != null, DbTestPaperRecordDetail::getGood, bo.getGood());
lqw.eq(bo.getStatus() != null, DbTestPaperRecordDetail::getStatus, bo.getStatus()); lqw.eq(bo.getStatus() != null, DbTestPaperRecordDetail::getStatus, bo.getStatus());
lqw.eq(bo.getCerateTime() != null, DbTestPaperRecordDetail::getCerateTime, bo.getCerateTime()); lqw.eq(bo.getCerateTime() != null, DbTestPaperRecordDetail::getCreateTime, bo.getCerateTime());
return lqw; return lqw;
} }
......
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.school.paper.mapper.DbQuestionBankMapper"> <mapper namespace="com.ruoyi.school.paper.mapper.DbQuestionBankMapper">
<resultMap type="com.ruoyi.school.paper.domain.DbQuestionBank" id="DbQuestionBankResult"> <resultMap id="DbQuestionBankResult" type="com.ruoyi.school.paper.domain.DbQuestionBank">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="categoryId" column="category_id"/> <result property="categoryId" column="category_id"/>
<result property="species" column="species"/> <result property="species" column="species"/>
...@@ -24,5 +24,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -24,5 +24,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
</resultMap> </resultMap>
<resultMap id="QuestionBankDetail" type="com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo">
<id property="id" column="id"/>
<result property="categoryId" column="category_id"/>
<result property="species" column="species"/>
<result property="phaseId" column="phase_id"/>
<result property="type" column="type"/>
<result property="intensity" column="intensity"/>
<result property="topic" column="topic"/>
<result property="rightAnswers" column="right_answers"/>
<result property="rightAnswersPic" column="right_answers_pic"/>
<result property="resolveCourse" column="resolve_course"/>
<result property="resolveVideo" column="resolve_video"/>
<result property="remark" column="remark"/>
<result property="status" column="status"/>
<collection property="options" ofType="com.ruoyi.school.paper.domain.vo.DbQuestionBankAnswerVo">
<id property="id" column="a_id"/>
<result property="questionBankId" column="question_bank_id"/>
<result property="optionTag" column="option_tag"/>
<result property="optionContent" column="option_content"/>
<result property="remark" column="a_remark"/>
<result property="status" column="a_status"/>
</collection>
</resultMap>
<select id="selectDetailById" resultMap="QuestionBankDetail">
select bank.id,
bank.category_id,
bank.species,
bank.phase_id,
bank.type,
bank.intensity,
bank.topic,
bank.right_answers,
bank.right_answers_pic,
bank.resolve_course,
bank.resolve_video,
bank.remark,
bank.status,
answer.id as a_id,
answer.question_bank_id,
answer.option_tag,
answer.option_content,
answer.remark as a_remark,
answer.status as a_status
from db_question_bank as bank
left join db_question_bank_answer as answer on bank.species = 2 and answer.question_bank_id = bank.id
where bank.id = #{id}
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment