Commit 2f768d38 by zhengyunfei

bugfix

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