Commit 7f3074e9 by 郑云飞

Merge remote-tracking branch 'origin/master'

parents ccac84ff 31673f60
......@@ -51,6 +51,7 @@ public class DbErrorListController extends BaseController {
*/
@GetMapping("/list")
public TableDataInfo<ErrorTopicListVo> findErrorTopicPage(ErrorTopicRequest request, PageQuery pageQuery) {
request.setUserId(getUserId());
return iDbErrorListService.findErrorTopicPage(pageQuery, request);
}
......
......@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.domain.request;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 错题集查询条件
......@@ -33,4 +34,9 @@ public class ErrorTopicRequest implements Serializable {
* 用户编号
*/
private Long userId;
/**
* 学生编号集合
*/
private List<Long> userIds;
}
......@@ -3,9 +3,11 @@ 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.StringUtils;
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.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.school.paper.domain.DbCollectList;
import com.ruoyi.school.paper.domain.DbErrorList;
......@@ -17,6 +19,7 @@ import com.ruoyi.school.paper.mapper.DbCollectListMapper;
import com.ruoyi.school.paper.mapper.DbErrorListMapper;
import com.ruoyi.school.paper.mapper.DbQuestionBankAnswerTestPaperMapper;
import com.ruoyi.school.paper.service.IDbErrorListService;
import com.ruoyi.system.mapper.SysUserMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
......@@ -24,6 +27,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
......@@ -42,6 +46,8 @@ public class DbErrorListServiceImpl implements IDbErrorListService {
private final DbCollectListMapper dbCollectListMapper;
private final SysUserMapper sysUserMapper;
/**
* 查询错题集
*/
......@@ -129,7 +135,25 @@ public class DbErrorListServiceImpl implements IDbErrorListService {
@Override
public TableDataInfo<ErrorTopicListVo> findErrorTopicPage(PageQuery pageQuery, ErrorTopicRequest request) {
Page<ErrorTopicListVo> result = baseMapper.findErrorTopicPage(pageQuery.build(), request);
Page<ErrorTopicListVo> result = new Page<ErrorTopicListVo>();
Long userId = request.getUserId();
SysUser sysUser = sysUserMapper.selectById(userId);
if (sysUser != null) {
String deptList = sysUser.getDeptList();
if (StringUtils.isNotEmpty(deptList) && deptList.contains(",")) {
String[] split = deptList.split(",");
List<SysUser> sysUsers = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery()
.eq(SysUser::getSex, "0")
.in(SysUser::getDeptList, split));
if (!sysUsers.isEmpty()) {
List<Long> userIds = sysUsers.stream()
.map(SysUser::getUserId)
.collect(Collectors.toList());
request.setUserIds(userIds);
result = baseMapper.findErrorTopicPage(pageQuery.build(), request);
}
}
}
return TableDataInfo.build(result);
}
......
......@@ -21,10 +21,13 @@
SELECT
del.id AS id,
del.question_bank_id AS questionBankId,
dqbtp.topic as topic
dqbtp.topic AS topic
FROM
db_error_list AS del
LEFT JOIN db_question_bank AS dqbtp ON dqbtp.id = del.question_bank_id
LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.id = del.question_bank_id
LEFT JOIN db_test_paper_record AS dtpr ON dtpr.id = del.record_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtprd.record_id = dtpr.id and dtprd.question_bank_id =
del.question_bank_id
<where>
<if test="request.categoryId != null">
dqbtp.category_id = #{request.categoryId}
......@@ -35,19 +38,24 @@
<if test="request.intensity != null">
and dqbtp.intensity = #{request.intensity}
</if>
and del.user_id in
<foreach collection="request.userIds" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
GROUP BY del.question_bank_id
</where>
</select>
<select id="getErrorTopicListDetailById" resultType="com.ruoyi.school.paper.domain.vo.ErrorTopicListDetailVo"
parameterType="java.lang.Long">
SELECT dqt.type_value AS typeName,
dqb.intensity AS intensity,
dqb.species AS species,
dqb.topic AS topic,
dqb.right_answers AS rightAnswers,
sd.dept_name AS phaseName,
SELECT dqt.type_value AS typeName,
dqb.intensity AS intensity,
dqb.species AS species,
dqb.topic AS topic,
dqb.right_answers AS rightAnswers,
sd.dept_name AS phaseName,
del.question_bank_id AS questionBankId
FROM db_error_list AS del
LEFT JOIN db_question_bank dqb ON dqb.id = del.question_bank_id
LEFT JOIN db_question_bank_test_paper dqb ON dqb.id = del.question_bank_id
LEFT JOIN sys_dept sd ON sd.dept_id = dqb.phase_id
LEFT JOIN db_question_type dqt ON dqt.id = dqb.category_id
WHERE del.id = #{id}
......@@ -63,13 +71,14 @@
FROM
db_error_list AS del
LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.id = del.question_bank_id
LEFT JOIN db_test_paper_record AS dtpr ON dtpr.id = del.record_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtprd.record_id = dtpr.id and dtprd.question_bank_id = del.question_bank_id
LEFT JOIN db_test_paper_record AS dtpr ON dtpr.id = del.record_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtprd.record_id = dtpr.id and dtprd.question_bank_id =
del.question_bank_id
<where>
del.user_id = #{request.userId}
<if test="request.categoryId != null">
and dqbtp.category_id = #{request.categoryId}
</if>
del.user_id = #{request.userId}
<if test="request.categoryId != null">
and dqbtp.category_id = #{request.categoryId}
</if>
</where>
</select>
</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