Commit 2f768d38 by zhengyunfei

bugfix

parent 62b96d49
......@@ -105,7 +105,7 @@ sa-token:
# token有效期 设为一天 (必定过期) 单位: 秒
timeout: 86400
# token临时有效期 (指定时间无操作就过期) 单位: 秒
activity-timeout: 1800
activity-timeout: 86400
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
......
......@@ -81,7 +81,8 @@ public class SysUserServiceImpl implements ISysUserService {
QueryWrapper<SysUser> wrapper = Wrappers.query();
wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
.eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId())
.like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
.like(StringUtils.isNotEmpty(user.getUserName()), "u.user_name", user.getUserName())
.like(StringUtils.isNotEmpty(user.getNickName()), "u.nick_name", user.getNickName())
.eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
.eq(StringUtils.isNotBlank(user.getSex()), "u.sex", user.getSex())
.like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
......
......@@ -74,6 +74,10 @@ public class DbQuestionBankTestPaper extends BaseEntity {
*/
private String resolveVideo;
/**
* 视频名称
*/
private String resolveVideoName;
/**
* 分数
*/
private Integer score;
......
......@@ -94,6 +94,11 @@ public class DbQuestionBankTestPaperBo extends BaseEntity {
private String resolveVideo;
/**
* 视频名称
*/
private String resolveVideoName;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
......
......@@ -72,7 +72,7 @@ public class DbTestPaperBo extends BaseEntity {
/**
* 状态:0正常,1删除
*/
@NotNull(message = "状态:0正常,1删除不能为空", groups = { EditGroup.class })
// @NotNull(message = "状态:0正常,1删除不能为空", groups = { EditGroup.class })
private Integer status;
private String nickName;
......
......@@ -93,6 +93,12 @@ public class DbQuestionBankTestPaperVo {
private String resolveVideo;
/**
* 视频名称
*/
@ExcelProperty(value = "解答视频名称")
private String resolveVideoName;
/**
* 分数
*/
@ExcelProperty(value = "分数")
......
......@@ -54,7 +54,7 @@ public class MyErrorTopicListVo implements Serializable {
/**
* 我的得分
*/
private BigDecimal score = BigDecimal.ZERO;
private BigDecimal score;
/**
* 题目编号
......
......@@ -28,7 +28,7 @@ public interface DbQuestionBankMapper extends BaseMapperPlus<DbQuestionBankMappe
* @param id 题目ID
* @return 题目详细信息
*/
DbQuestionBankAndAnswerVo selectDetailById(Serializable id);
DbQuestionBankAndAnswerVo selectDetailById(@Param("id") Serializable id);
/**
* 典例精讲列表
......
......@@ -7,9 +7,12 @@ 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.exception.ServiceException;
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.DbQuestionBankTestPaper;
import com.ruoyi.school.paper.domain.DbTestPaper;
import com.ruoyi.school.paper.domain.DbTestPaperRecordDetail;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo;
......@@ -17,11 +20,13 @@ 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.DbQuestionBankTestPaperMapper;
import com.ruoyi.school.paper.mapper.DbTestPaperRecordDetailMapper;
import com.ruoyi.school.paper.service.IDbTestPaperRecordDetailService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
import java.util.Map;
......@@ -38,6 +43,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
private final DbTestPaperRecordDetailMapper baseMapper;
private final DbCollectListMapper collectListMapper;
private final DbQuestionBankTestPaperMapper questionBankTestPaperMapper;
/**
* 查询答题记录详情
......@@ -104,7 +110,11 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
@Override
public Boolean updateByBo(DbTestPaperRecordDetailBo bo) {
DbTestPaperRecordDetail update = BeanUtil.toBean(bo, DbTestPaperRecordDetail.class);
validEntityBeforeSave(update);
DbTestPaperRecordDetail detail = baseMapper.selectById(bo.getId());
DbQuestionBankTestPaper questionBankTestPaper = questionBankTestPaperMapper.selectById(detail.getQuestionBankId());
if (bo.getScore().compareTo(BigDecimal.valueOf(questionBankTestPaper.getScore())) > 0) {
throw new ServiceException("填写分数过大,本题总分" + questionBankTestPaper.getScore());
}
return baseMapper.updateById(update) > 0;
}
......
......@@ -260,7 +260,7 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
*/
private List<DbQuestionBankTestPaper> generatePaper(List<DbQuestionBank> list, int num, Integer totalPoints, Long paperId) {
log.info("系统正在随机抽取题目生成试卷,这可能需要一段时间,请耐心等候···");
HashSet<DbQuestionBankTestPaper> paper = new HashSet<>();//用来存储题目,set集合去重复
List<DbQuestionBankTestPaper> paper = new ArrayList<>();//用来存储题目,set集合去重复
//这个while循环用来生成不重复的一套题目
while (paper.size() != num) {
DbQuestionBank question = list.get(new Random().nextInt(list.size()));
......@@ -268,10 +268,8 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
if (totalPoints.equals(100)) {
switch (questionBankTestPaper.getSpecies()) {
case 1:
questionBankTestPaper.setScore(10);
break;
case 2:
questionBankTestPaper.setScore(4);
questionBankTestPaper.setScore(5);
break;
case 3:
questionBankTestPaper.setScore(15);
......@@ -306,8 +304,10 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
questionBankTestPaper.setTestPaperId(paperId);
questionBankTestPaper.setQuestionBankId(question.getId());
paper.add(questionBankTestPaper);
paper = paper.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(DbQuestionBankTestPaper::getQuestionBankId))), ArrayList::new));
}
List<DbQuestionBankTestPaper> newPaper = new ArrayList<>(paper);
return newPaper;
return paper;
}
}
......@@ -82,7 +82,18 @@
<result property="resolveCourse" column="resolve_course"/>
<result property="resolveVideo" column="resolve_video"/>
<result property="resolveVideName" column="resolve_video_name"/>
<collection property="options" javaType="java.util.List" resultMap="DbQuestionBankAnswerResult"/>
<collection property="options" javaType="java.util.List" column="question_bank_id" select="getOptionList" ofType="com.ruoyi.school.paper.domain.DbQuestionBankAnswer">
<result property="id" column="id"/>
<result property="questionBankId" column="question_bank_id"/>
<result property="optionTag" column="option_tag"/>
<result property="optionContent" column="option_content"/>
<result property="remark" column="remark"/>
<result property="status" column="status"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</collection>
</resultMap>
<resultMap type="com.ruoyi.school.paper.domain.DbQuestionBankAnswer" id="DbQuestionBankAnswerResult">
<result property="id" column="id"/>
......@@ -102,10 +113,8 @@
qb.topic as topic,
qb.resolve_course,
qb.resolve_video,
qb.resolve_video_name,
dqba.*
qb.resolve_video_name
from db_question_bank qb
left join db_question_bank_answer dqba on qb.id = dqba.question_bank_id
where type = 1
<if test="bo.categoryId != null">
and qb.category_id = #{bo.categoryId}
......@@ -114,4 +123,8 @@
and qb.species = #{bo.species}
</if>
</select>
<select id="getOptionList" resultMap="DbQuestionBankAnswerResult">
select option_tag, option_content from db_question_bank_answer where question_bank_id = #{question_bank_id}
</select>
</mapper>
......@@ -25,9 +25,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="getPhaseList" resultType="com.ruoyi.school.paper.domain.vo.DbTestPaperVo">
select dtpr.id,
select dtp.id,
dtp.test_name,
dtp.total_points,
dtp.class_id,
concat(phase.dept_name, '', class.dept_name) as phase_class
from db_test_paper_record dtpr
left join db_test_paper dtp on dtp.id = dtpr.test_paper_id
......@@ -46,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select dtpr.id as recordId,
SU.user_id,
su.nick_name,
dtp.total_points,
dtpr.total_points,
dtpr.status,
concat(phase.dept_name, '', class.dept_name) as phase_class
from db_test_paper_record dtpr
......
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