Commit 1c033c10 by 邹磊浩

修改代码

parent 805dbde1
...@@ -83,16 +83,18 @@ public class DbCollectListController extends BaseController { ...@@ -83,16 +83,18 @@ public class DbCollectListController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody DbCollectListBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody DbCollectListBo bo) {
bo.setUserId(getUserId());
return toAjax(iDbCollectListService.insertByBo(bo)); return toAjax(iDbCollectListService.insertByBo(bo));
} }
/** /**
* 修改收藏 * 【小程序】修改收藏
*/ */
@Log(title = "收藏", businessType = BusinessType.UPDATE) @Log(title = "收藏", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DbCollectListBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody DbCollectListBo bo) {
bo.setUserId(getUserId());
return toAjax(iDbCollectListService.updateByBo(bo)); return toAjax(iDbCollectListService.updateByBo(bo));
} }
......
...@@ -2,7 +2,6 @@ package com.ruoyi.school.paper.controller; ...@@ -2,7 +2,6 @@ package com.ruoyi.school.paper.controller;
import java.util.List; import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.school.paper.domain.request.ErrorTopicRequest; import com.ruoyi.school.paper.domain.request.ErrorTopicRequest;
......
...@@ -24,31 +24,26 @@ public class DbCollectListBo extends BaseEntity { ...@@ -24,31 +24,26 @@ public class DbCollectListBo extends BaseEntity {
/** /**
* 主键id * 主键id
*/ */
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id; private Long id;
/** /**
* 用户id * 用户id
*/ */
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId; private Long userId;
/** /**
* 题目id * 题目id
*/ */
@NotNull(message = "题目id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long questionBankId; private Long questionBankId;
/** /**
* 备注 * 备注
*/ */
@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 })
private Integer status; private Integer status;
......
package com.ruoyi.school.paper.domain.vo; package com.ruoyi.school.paper.domain.vo;
import com.ruoyi.school.paper.domain.DbQuestionBankAnswerTestPaper;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -12,6 +13,11 @@ import java.util.List; ...@@ -12,6 +13,11 @@ import java.util.List;
public class ErrorTopicListDetailVo implements Serializable { public class ErrorTopicListDetailVo implements Serializable {
/** /**
* 题目编号
*/
private Long questionBankId;
/**
* 类别名称 * 类别名称
*/ */
private String typeName; private String typeName;
...@@ -22,6 +28,11 @@ public class ErrorTopicListDetailVo implements Serializable { ...@@ -22,6 +28,11 @@ public class ErrorTopicListDetailVo implements Serializable {
private String intensity; private String intensity;
/** /**
* 阶段名称
*/
private String phaseName;
/**
* 习题种类 * 习题种类
*/ */
private String species; private String species;
...@@ -51,5 +62,5 @@ public class ErrorTopicListDetailVo implements Serializable { ...@@ -51,5 +62,5 @@ public class ErrorTopicListDetailVo implements Serializable {
/** /**
* 选项标签集合 * 选项标签集合
*/ */
private List<OptionVo> options; private List<DbQuestionBankAnswerTestPaper> options;
} }
package com.ruoyi.school.paper.domain.vo; package com.ruoyi.school.paper.domain.vo;
import com.ruoyi.school.paper.domain.DbQuestionBankAnswerTestPaper; import com.ruoyi.school.paper.domain.DbQuestionBankAnswerTestPaper;
import com.sun.org.apache.xpath.internal.objects.XString;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -71,10 +70,15 @@ public class MyErrorTopicListVo implements Serializable { ...@@ -71,10 +70,15 @@ public class MyErrorTopicListVo implements Serializable {
/** /**
* 选项标签集合 * 选项标签集合
*/ */
private List<DbQuestionBankAnswerTestPaperVo> options; private List<DbQuestionBankAnswerTestPaper> options;
/** /**
* 优秀答案 * 优秀答案
*/ */
private List<GoodsAnswersVo> goodsAnswers; private List<GoodsAnswersVo> goodsAnswers;
/**
* 习题种类:1填空,2选择,3解答
*/
private Long species;
} }
...@@ -27,7 +27,7 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -27,7 +27,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface DbErrorListMapper extends BaseMapperPlus<DbErrorListMapper, DbErrorList, DbErrorListVo> { public interface DbErrorListMapper extends BaseMapperPlus<DbErrorListMapper, DbErrorList, DbErrorListVo> {
Page<ErrorTopicListVo> findErrorTopicPage(IPage<ErrorTopicListVo> iPage, @Param("request") ErrorTopicRequest request); Page<ErrorTopicListVo> findErrorTopicPage(IPage<ErrorTopicListVo> iPage, @Param("request") ErrorTopicRequest request);
List<ErrorTopicListDetailVo> findErrorTopicListDetailById(@Param("id") Long id); ErrorTopicListDetailVo getErrorTopicListDetailById(@Param("id") Long id);
Page<MyErrorTopicListVo> findMyErrorTopicListVoPage(IPage<ErrorTopicListVo> iPage, @Param("request") ErrorTopicRequest request); Page<MyErrorTopicListVo> findMyErrorTopicListVoPage(IPage<ErrorTopicListVo> iPage, @Param("request") ErrorTopicRequest request);
} }
...@@ -43,25 +43,10 @@ public class DbErrorListServiceImpl implements IDbErrorListService { ...@@ -43,25 +43,10 @@ public class DbErrorListServiceImpl implements IDbErrorListService {
*/ */
@Override @Override
public ErrorTopicListDetailVo queryById(Long id) { public ErrorTopicListDetailVo queryById(Long id) {
List<ErrorTopicListDetailVo> errorTopicListDetailVoList = baseMapper.findErrorTopicListDetailById(id); ErrorTopicListDetailVo errorTopicListDetailVo = baseMapper.getErrorTopicListDetailById(id);
if (CollectionUtils.isNotEmpty(errorTopicListDetailVoList)) { if (null != errorTopicListDetailVo) {
List<OptionVo> list = errorTopicListDetailVoList.stream() List<DbQuestionBankAnswerTestPaper> dbQuestionBankAnswerTestPapers = dbQuestionBankAnswerTestPaperMapper.selectList(Wrappers.<DbQuestionBankAnswerTestPaper>lambdaQuery().eq(DbQuestionBankAnswerTestPaper::getQuestionBankId, errorTopicListDetailVo.getQuestionBankId()));
.map(errorTopicListDetailVo -> { errorTopicListDetailVo.setOptions(dbQuestionBankAnswerTestPapers);
OptionVo optionVo = new OptionVo();
optionVo.setOptionTag(errorTopicListDetailVo.getOptionTag());
optionVo.setOptionContent(errorTopicListDetailVo.getOptionContent());
return optionVo;
})
.collect(Collectors.toList());
ErrorTopicListDetailVo firstErrorTopicListDetailVo = errorTopicListDetailVoList.get(0);
ErrorTopicListDetailVo errorTopicListDetailVo = new ErrorTopicListDetailVo();
errorTopicListDetailVo.setTopic(firstErrorTopicListDetailVo.getTopic());
errorTopicListDetailVo.setIntensity(firstErrorTopicListDetailVo.getIntensity());
errorTopicListDetailVo.setSpecies(firstErrorTopicListDetailVo.getSpecies());
errorTopicListDetailVo.setTypeName(firstErrorTopicListDetailVo.getTypeName());
errorTopicListDetailVo.setRightAnswers(firstErrorTopicListDetailVo.getRightAnswers());
errorTopicListDetailVo.setOptions(list);
return errorTopicListDetailVo; return errorTopicListDetailVo;
} }
return null; return null;
...@@ -149,13 +134,25 @@ public class DbErrorListServiceImpl implements IDbErrorListService { ...@@ -149,13 +134,25 @@ public class DbErrorListServiceImpl implements IDbErrorListService {
Page<MyErrorTopicListVo> myErrorTopicListVoPage = baseMapper.findMyErrorTopicListVoPage(pageQuery.build(), request); Page<MyErrorTopicListVo> myErrorTopicListVoPage = baseMapper.findMyErrorTopicListVoPage(pageQuery.build(), request);
List<MyErrorTopicListVo> records = myErrorTopicListVoPage.getRecords(); List<MyErrorTopicListVo> records = myErrorTopicListVoPage.getRecords();
if (CollectionUtils.isNotEmpty(records)) { if (CollectionUtils.isNotEmpty(records)) {
records.forEach(myErrorTopicListVo -> { //获取题目集ID
//根据每到题目查询对应的选项 List<Long> questionBankIds = records.stream()
//拿到对应选项填充至每道错题当中 .map(MyErrorTopicListVo::getQuestionBankId)
Optional.ofNullable(dbQuestionBankAnswerTestPaperMapper.selectVoList(Wrappers.<DbQuestionBankAnswerTestPaper>lambdaQuery().eq(DbQuestionBankAnswerTestPaper::getQuestionBankId, myErrorTopicListVo.getQuestionBankId()))) .collect(Collectors.toList());
.ifPresent(myErrorTopicListVo::setOptions);
//查询所有选项并根据题目id分组
Map<Long, List<DbQuestionBankAnswerTestPaper>> optionsMap = dbQuestionBankAnswerTestPaperMapper
.selectList(Wrappers.<DbQuestionBankAnswerTestPaper>lambdaQuery()
.in(DbQuestionBankAnswerTestPaper::getQuestionBankId, questionBankIds))
.stream()
.collect(Collectors.groupingBy(DbQuestionBankAnswerTestPaper::getQuestionBankId));
//选项set至每道题目中
records.parallelStream().forEach(myErrorTopicListVo -> {
List<DbQuestionBankAnswerTestPaper> options = optionsMap.get(myErrorTopicListVo.getQuestionBankId());
myErrorTopicListVo.setOptions(options);
}); });
} }
return TableDataInfo.build(myErrorTopicListVoPage); return TableDataInfo.build(myErrorTopicListVoPage);
} }
} }
...@@ -24,16 +24,11 @@ ...@@ -24,16 +24,11 @@
dqbtp.topic as topic dqbtp.topic as topic
FROM FROM
db_error_list AS del db_error_list AS del
LEFT JOIN db_test_paper_record AS dtpr ON del.paper_id = dtpr.test_paper_id LEFT JOIN db_question_bank AS dqbtp ON dqbtp.id = del.question_bank_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtpr.id = dtprd.record_id
LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.test_paper_id = del.paper_id
<where> <where>
<if test="request.categoryId != null"> <if test="request.categoryId != null">
dqbtp.category_id = #{request.categoryId} dqbtp.category_id = #{request.categoryId}
</if> </if>
<if test="request.species != null">
and dqbtp.species = #{request.species}
</if>
<if test="request.type != null"> <if test="request.type != null">
and dqbtp.type = #{request.type} and dqbtp.type = #{request.type}
</if> </if>
...@@ -42,22 +37,19 @@ ...@@ -42,22 +37,19 @@
</if> </if>
</where> </where>
</select> </select>
<select id="findErrorTopicListDetailById" resultType="com.ruoyi.school.paper.domain.vo.ErrorTopicListDetailVo" <select id="getErrorTopicListDetailById" resultType="com.ruoyi.school.paper.domain.vo.ErrorTopicListDetailVo"
parameterType="java.lang.Long"> parameterType="java.lang.Long">
SELECT dqt.type_value AS typeName, SELECT dqt.type_value AS typeName,
dqbtp.intensity AS intensity, dqb.intensity AS intensity,
dqbtp.species AS species, dqb.species AS species,
dqbtp.topic AS topic, dqb.topic AS topic,
dqbtp.right_answers AS rightAnswers, dqb.right_answers AS rightAnswers,
dpbatp.option_tag AS optionTag, sd.dept_name AS phaseName,
dpbatp.option_content AS optionContent del.question_bank_id AS questionBankId
FROM db_error_list AS del FROM db_error_list AS del
LEFT JOIN db_test_paper_record AS dtpr ON del.paper_id = dtpr.test_paper_id LEFT JOIN db_question_bank dqb ON dqb.id = del.question_bank_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtpr.id = dtprd.record_id LEFT JOIN sys_dept sd ON sd.dept_id = dqb.phase_id
LEFT JOIN db_question_bank_answer_test_paper AS dpbatp LEFT JOIN db_question_type dqt ON dqt.id = dqb.category_id
ON dtprd.question_bank_id = dpbatp.question_bank_id
LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.test_paper_id = del.paper_id
LEFT JOIN db_question_type AS dqt ON dqt.id = dqbtp.category_id
WHERE del.id = #{id} WHERE del.id = #{id}
</select> </select>
<select id="findMyErrorTopicListVoPage" resultType="com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo"> <select id="findMyErrorTopicListVoPage" resultType="com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo">
...@@ -66,7 +58,8 @@ ...@@ -66,7 +58,8 @@
dtprd.question_bank_id AS questionBankId, dtprd.question_bank_id AS questionBankId,
dqbtp.topic AS topic, dqbtp.topic AS topic,
dtprd.answer AS answer, dtprd.answer AS answer,
dtprd.correct_answer AS correctAnswer dtprd.correct_answer AS correctAnswer,
dqbtp.species AS species
FROM FROM
db_error_list AS del db_error_list AS del
LEFT JOIN db_test_paper_record AS dtpr ON del.record_id = dtpr.id LEFT JOIN db_test_paper_record AS dtpr ON del.record_id = dtpr.id
......
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