Commit 0776c5a3 by zhengyunfei

优秀答案单独查询

parent 805dbde1
......@@ -16,6 +16,7 @@ import com.ruoyi.school.paper.domain.bo.DbTestPaperBo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperVo;
import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import com.ruoyi.school.paper.service.IDbTestPaperRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
......@@ -51,7 +52,7 @@ public class DbTestPaperRecordController extends BaseController {
}
/**
* 【PC】 审批阅卷班级列表
* 【PC】 审批阅卷学生列表
*/
@GetMapping("/getClassList")
public TableDataInfo<DbTestPaperVo> getClassList(DbTestPaperBo bo, PageQuery pageQuery) {
......
......@@ -11,8 +11,10 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo;
import com.ruoyi.school.paper.domain.vo.GoodsAnswersVo;
import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import com.ruoyi.school.paper.service.IDbTestPaperRecordDetailService;
import lombok.RequiredArgsConstructor;
......@@ -47,6 +49,21 @@ public class DbTestPaperRecordDetailController extends BaseController {
public TableDataInfo<MyErrorTopicListVo> list(DbTestPaperRecordDetailBo bo, PageQuery pageQuery) {
return iDbTestPaperRecordDetailService.queryPageList(bo, pageQuery);
}
/**
* 【小程序】查询答题记录优秀答案
*/
@GetMapping("/getGoodsAnswerList")
public TableDataInfo<GoodsAnswersVo> getGoodsAnswerList(DbTestPaperRecordDetailBo bo, PageQuery pageQuery) {
return iDbTestPaperRecordDetailService.getGoodsAnswerList(bo, pageQuery);
}
/**
* 【PC】查询学生答题记录列表
*/
@GetMapping("/getStudentAnswerRecordList")
public TableDataInfo<MyErrorTopicListVo> getStudentAnswerRecordList(DbTestPaperRecordDetailBo bo, PageQuery pageQuery) {
return iDbTestPaperRecordDetailService.queryPageList(bo, pageQuery);
}
/**
* 导出答题记录详情列表
......
......@@ -81,4 +81,9 @@ public class DbTestPaperVo {
* 用户昵称
*/
private String nickName;
/**
* 用户id
*/
private Long userId;
}
......@@ -12,4 +12,6 @@ public class GoodsAnswersVo {
private String goodsAnswer;
private String nickName;
private Long count;
}
......@@ -51,7 +51,7 @@ public class MyErrorTopicListVo implements Serializable {
/**
* 我的得分
*/
private BigDecimal score;
private BigDecimal score = BigDecimal.ZERO;
/**
* 题目编号
......@@ -69,6 +69,11 @@ public class MyErrorTopicListVo implements Serializable {
private String resolveVideo;
/**
* 题目类型 1填空,2选择,3解答
*/
private Integer species;
/**
* 选项标签集合
*/
private List<DbQuestionBankAnswerTestPaperVo> options;
......@@ -77,4 +82,15 @@ public class MyErrorTopicListVo implements Serializable {
* 优秀答案
*/
private List<GoodsAnswersVo> goodsAnswers;
/**
*
*/
/**
* 是否收藏
*/
private Boolean collectFlag = Boolean.FALSE;
private Long goodsAnswerCount;
}
......@@ -3,12 +3,9 @@ package com.ruoyi.school.paper.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.school.paper.domain.DbCollectList;
import com.ruoyi.school.paper.domain.request.ErrorTopicRequest;
import com.ruoyi.school.paper.domain.vo.DbCollectListVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.school.paper.domain.vo.ErrorTopicListVo;
import com.ruoyi.school.paper.domain.vo.MyCollectListVo;
import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import org.apache.ibatis.annotations.Param;
/**
......@@ -19,4 +16,6 @@ import org.apache.ibatis.annotations.Param;
*/
public interface DbCollectListMapper extends BaseMapperPlus<DbCollectListMapper, DbCollectList, DbCollectListVo> {
Page<MyCollectListVo> findMyECollectListVoPage(IPage<MyCollectListVo> iPage,@Param("userId") Long userId, @Param("categoryId") Integer categoryId);
long getListByRecord(@Param("recordId") Long recordId, @Param("questionBankId") Long questionBankId);
}
......@@ -3,8 +3,10 @@ package com.ruoyi.school.paper.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.school.paper.domain.DbTestPaperRecordDetail;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo;
import com.ruoyi.school.paper.domain.vo.GoodsAnswersVo;
import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -19,4 +21,8 @@ import org.apache.ibatis.annotations.Param;
public interface DbTestPaperRecordDetailMapper extends BaseMapperPlus<DbTestPaperRecordDetailMapper, DbTestPaperRecordDetail, DbTestPaperRecordDetailVo> {
Page<MyErrorTopicListVo> queryPageList(Page<Object> build, @Param("bo") DbTestPaperRecordDetailBo bo);
Page<GoodsAnswersVo> getGoodsAnserList(Page<Object> build, @Param("bo") DbTestPaperRecordDetailBo bo);
Page<MyErrorTopicListVo> getStudentAnswerRecordList(Page<Object> build, @Param("bo") DbTestPaperRecordBo bo);
}
package com.ruoyi.school.paper.service;
import com.ruoyi.school.paper.domain.DbTestPaperRecordDetail;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.school.paper.domain.vo.GoodsAnswersVo;
import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import java.util.Collection;
......@@ -49,4 +51,14 @@ public interface IDbTestPaperRecordDetailService {
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
boolean saveBatch(Collection<DbTestPaperRecordDetail> collection);
/**
* 【PC】查询学生答题记录列表
*/
TableDataInfo<MyErrorTopicListVo> getStudentAnswerRecordList(DbTestPaperRecordBo bo, PageQuery pageQuery);
/**
* 【小程序】查询答题记录优秀答案
*/
TableDataInfo<GoodsAnswersVo> getGoodsAnswerList(DbTestPaperRecordDetailBo bo, PageQuery pageQuery);
}
......@@ -2,15 +2,21 @@ package com.ruoyi.school.paper.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.school.paper.domain.DbCollectList;
import com.ruoyi.school.paper.domain.DbTestPaperRecordDetail;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo;
import com.ruoyi.school.paper.domain.vo.GoodsAnswersVo;
import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import com.ruoyi.school.paper.mapper.DbCollectListMapper;
import com.ruoyi.school.paper.mapper.DbTestPaperRecordDetailMapper;
import com.ruoyi.school.paper.service.IDbTestPaperRecordDetailService;
import lombok.RequiredArgsConstructor;
......@@ -31,6 +37,7 @@ import java.util.Map;
public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDetailService {
private final DbTestPaperRecordDetailMapper baseMapper;
private final DbCollectListMapper collectListMapper;
/**
* 查询答题记录详情
......@@ -46,6 +53,12 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
@Override
public TableDataInfo<MyErrorTopicListVo> queryPageList(DbTestPaperRecordDetailBo bo, PageQuery pageQuery) {
Page<MyErrorTopicListVo> result = baseMapper.queryPageList(pageQuery.build(), bo);
result.getRecords().forEach(row -> {
long count = collectListMapper.getListByRecord(row.getRecordId(), row.getQuestionBankId());
if (count > 0) {
row.setCollectFlag(Boolean.TRUE);
}
});
return TableDataInfo.build(result);
}
......@@ -117,4 +130,22 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
public boolean saveBatch(Collection<DbTestPaperRecordDetail> collection) {
return baseMapper.insertBatch(collection);
}
/**
* 【PC】查询学生答题记录列表
*/
@Override
public TableDataInfo<MyErrorTopicListVo> getStudentAnswerRecordList(DbTestPaperRecordBo bo, PageQuery pageQuery) {
Page<MyErrorTopicListVo> result = baseMapper.getStudentAnswerRecordList(pageQuery.build(), bo);
return TableDataInfo.build(result);
}
/**
* 【小程序】查询答题记录优秀答案
*/
@Override
public TableDataInfo<GoodsAnswersVo> getGoodsAnswerList(DbTestPaperRecordDetailBo bo, PageQuery pageQuery) {
Page<GoodsAnswersVo> goodsAnserList = baseMapper.getGoodsAnserList(pageQuery.build(), bo);
return TableDataInfo.build(goodsAnserList);
}
}
......@@ -35,5 +35,11 @@
</where>
</select>
<select id="getListByRecord" resultType="long">
select count(1)
from db_collect_list dcl
left join db_test_paper_record dtpr on dcl.user_id = dtpr.user_id
where dtpr.id = #{recordId,jdbcType=BIGINT}
and dcl.question_bank_id = #{questionBankId,jdbcType=BIGINT}
</select>
</mapper>
......@@ -32,13 +32,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="optionTag" column="option_tag"/>
<result property="optionContent" column="option_content"/>
</collection>
<collection property="goodsAnswers" javaType="java.util.List" column="{questionBankId = question_bank_id, recordId = record_id}" select="getGoodsAnserList" ofType="com.ruoyi.school.paper.domain.vo.GoodsAnswersVo">
<result property="goodsAnswer" column="goods_answer"/>
<result property="nickName" column="nick_name"/>
<collection property="goodsAnswerCount" column="{questionBankId = question_bank_id, recordId = record_id}" select="getHasGoodsAnserList" ofType="long">
</collection>
</resultMap>
<select id="queryPageList" resultMap="TestPaperRecordDetailResult">
SELECT
dqbatp.topic,
......@@ -48,7 +45,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dqbatp.right_answers_pic as correctAnswerPic,
dtprd.answer,
dtprd.answers_pic,
dtprd.score
dtprd.score,
dqbatp.species
FROM
db_test_paper_record_detail dtprd
LEFT JOIN db_question_bank_test_paper dqbatp ON dtprd.question_bank_id = dqbatp.id
......@@ -59,10 +57,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getOptionList" resultType="com.ruoyi.school.paper.domain.vo.DbQuestionBankAnswerTestPaperVo">
select option_tag, option_content from db_question_bank_answer_test_paper where question_bank_id = #{question_bank_id}
</select>
<select id="getGoodsAnserList" resultType="com.ruoyi.school.paper.domain.vo.GoodsAnswersVo">
<select id="getHasGoodsAnserList" resultType="long" >
SELECT
a.answer as goods_answer,
su.nick_name
count(1) as count
FROM
db_test_paper_record_detail a
LEFT JOIN db_test_paper_record dtpr ON a.record_id = dtpr.id
......@@ -71,4 +69,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.question_bank_id = #{questionBankId}
AND good = 0 and a.record_id = #{recordId}
</select>
<select id="getGoodsAnserList" resultType="com.ruoyi.school.paper.domain.vo.GoodsAnswersVo">
SELECT
a.answer as goods_answer,
su.nick_name
FROM
db_test_paper_record_detail a
LEFT JOIN db_test_paper_record dtpr ON a.record_id = dtpr.id
LEFT JOIN sys_user su ON dtpr.user_id = su.user_id
WHERE
a.question_bank_id = #{questionBankId}
AND good = 0 and a.record_id = #{recordId}
</select>
<select id="getStudentAnswerRecordList" resultMap="TestPaperRecordDetailResult">
</select>
</mapper>
......@@ -44,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getClassList" resultType="com.ruoyi.school.paper.domain.vo.DbTestPaperVo">
select dtpr.id,
SU.user_id,
su.nick_name,
dtp.total_points,
concat(phase.dept_name, '', class.dept_name) as phase_class
......
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