Commit 0776c5a3 by zhengyunfei

优秀答案单独查询

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