Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
school-paper-admin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
school-paper
school-paper-admin
Commits
3674ae68
Commit
3674ae68
authored
Jul 26, 2023
by
zhengyunfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
答题记录详情列表修改
新增审批阅卷列表接口
parent
556759aa
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
93 additions
and
47 deletions
+93
-47
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbTestPaperRecordController.java
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/DbTestPaperBo.java
+4
-4
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperVo.java
+8
-0
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/GoodsAnswersVo.java
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordMapper.java
+6
-1
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbTestPaperRecordService.java
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
+0
-1
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordServiceImpl.java
+3
-2
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperServiceImpl.java
+12
-7
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
+34
-25
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordMapper.xml
+22
-3
No files found.
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbTestPaperRecordController.java
View file @
3674ae68
...
...
@@ -43,7 +43,7 @@ public class DbTestPaperRecordController extends BaseController {
private
final
IDbTestPaperRecordService
iDbTestPaperRecordService
;
/**
* 【PC】 审批阅卷
阶段
列表
* 【PC】 审批阅卷
班级
列表
*/
@GetMapping
(
"/getPhaseList"
)
public
TableDataInfo
<
DbTestPaperVo
>
getPhaseList
(
DbTestPaperBo
bo
,
PageQuery
pageQuery
)
{
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/DbTestPaperBo.java
View file @
3674ae68
...
...
@@ -42,7 +42,7 @@ public class DbTestPaperBo extends BaseEntity {
/**
* 阶段id
*/
@NotNull
(
message
=
"阶段id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotNull(message = "阶段id不能为空", groups = {AddGroup.class, EditGroup.class})
private
Long
phaseId
;
/**
...
...
@@ -54,9 +54,9 @@ public class DbTestPaperBo extends BaseEntity {
/**
* 强度:1基础,2中等,3提高(多个中间用逗号分割)
*/
@NotBlank
(
message
=
"强度不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotBlank(message = "强度不能为空", groups = {AddGroup.class, EditGroup.class})
private
String
intensity
;
private
List
<
String
>
intensitys
;
private
List
<
Integer
>
intensitys
;
/**
* 总分:100,150
...
...
@@ -75,5 +75,5 @@ public class DbTestPaperBo extends BaseEntity {
@NotNull
(
message
=
"状态:0正常,1删除不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Integer
status
;
private
String
nickName
;
}
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
View file @
3674ae68
...
...
@@ -94,7 +94,7 @@ public class DbTestPaperRecordDetailVo {
private
String
righAnswersPic
;
@TableField
(
exist
=
false
)
private
List
<
DbQuestionBankAnswerTestPaperVo
>
answer
s
;
private
List
<
DbQuestionBankAnswerTestPaperVo
>
option
s
;
@TableField
(
exist
=
false
)
private
List
<
GoodsAnswersVo
>
goodsAnswers
;
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperVo.java
View file @
3674ae68
...
...
@@ -72,5 +72,13 @@ public class DbTestPaperVo {
@ExcelProperty
(
value
=
"状态:0正常,1删除"
)
private
Integer
status
;
/**
* 阶段班级
*/
private
String
phaseClass
;
/**
* 用户昵称
*/
private
String
nickName
;
}
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/GoodsAnswersVo.java
View file @
3674ae68
...
...
@@ -11,5 +11,5 @@ public class GoodsAnswersVo {
private
String
goodsAnswer
;
private
String
user
Name
;
private
String
nick
Name
;
}
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordMapper.java
View file @
3674ae68
...
...
@@ -22,7 +22,12 @@ public interface DbTestPaperRecordMapper extends BaseMapperPlus<DbTestPaperRecor
Page
<
DbTestPaperRecordVo
>
getTestPaperlist
(
Page
<
Object
>
build
,
@Param
(
"bo"
)
DbTestPaperRecordBo
bo
);
/**
* p
d段 审批阅卷阶段
列表
* p
c段 审批阅卷班级
列表
*/
Page
<
DbTestPaperVo
>
getPhaseList
(
Page
<
Object
>
build
,
@Param
(
"bo"
)
DbTestPaperBo
bo
);
/**
* 审批阅卷学生列表
*/
Page
<
DbTestPaperVo
>
getClassList
(
Page
<
Object
>
build
,
@Param
(
"bo"
)
DbTestPaperBo
bo
);
}
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbTestPaperRecordService.java
View file @
3674ae68
...
...
@@ -61,7 +61,7 @@ public interface IDbTestPaperRecordService {
DbTestPaperRecord
getOne
(
Wrapper
<
DbTestPaperRecord
>
wrapper
);
/**
* 【PC】 审批阅卷
阶段
列表
* 【PC】 审批阅卷
班级
列表
*/
TableDataInfo
<
DbTestPaperVo
>
getPhaseList
(
DbTestPaperBo
bo
,
PageQuery
pageQuery
);
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
View file @
3674ae68
...
...
@@ -44,7 +44,6 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
*/
@Override
public
TableDataInfo
<
DbTestPaperRecordDetailVo
>
queryPageList
(
DbTestPaperRecordDetailBo
bo
,
PageQuery
pageQuery
)
{
Page
<
DbTestPaperRecordDetailVo
>
result
=
baseMapper
.
queryPageList
(
pageQuery
.
build
(),
bo
);
return
TableDataInfo
.
build
(
result
);
}
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordServiceImpl.java
View file @
3674ae68
...
...
@@ -137,7 +137,7 @@ public class DbTestPaperRecordServiceImpl implements IDbTestPaperRecordService {
}
/**
* 审批阅卷
阶段
列表【PC】
* 审批阅卷
班级
列表【PC】
*/
@Override
public
TableDataInfo
<
DbTestPaperVo
>
getPhaseList
(
DbTestPaperBo
bo
,
PageQuery
pageQuery
)
{
...
...
@@ -150,6 +150,7 @@ public class DbTestPaperRecordServiceImpl implements IDbTestPaperRecordService {
*/
@Override
public
TableDataInfo
<
DbTestPaperVo
>
getClassList
(
DbTestPaperBo
bo
,
PageQuery
pageQuery
)
{
return
null
;
Page
<
DbTestPaperVo
>
result
=
baseMapper
.
getClassList
(
pageQuery
.
build
(),
bo
);
return
TableDataInfo
.
build
(
result
);
}
}
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperServiceImpl.java
View file @
3674ae68
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.school.paper.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.dynamic.datasource.annotation.Slave
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -24,6 +25,7 @@ import com.ruoyi.school.paper.service.IDbTestPaperService;
import
com.ruoyi.system.service.ISysDeptService
;
import
com.ruoyi.system.service.ISysUserService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -37,6 +39,7 @@ import java.util.stream.Collectors;
* @author zyf
* @date 2023-07-20
*/
@Slf4j
@RequiredArgsConstructor
@Service
public
class
DbTestPaperServiceImpl
implements
IDbTestPaperService
{
...
...
@@ -151,10 +154,12 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
randomGeneration
(
DbTestPaperBo
bo
)
{
DbTestPaper
add
=
BeanUtil
.
toBean
(
bo
,
DbTestPaper
.
class
);
add
.
setIntensity
(
String
.
join
(
","
,
bo
.
getIntensitys
()));
List
<
String
>
stringList
=
bo
.
getIntensitys
().
stream
().
map
(
String:
:
valueOf
).
collect
(
Collectors
.
toList
());
add
.
setIntensity
(
String
.
join
(
","
,
stringList
));
// 根据班级id获取阶段信息
SysDept
phase
=
deptService
.
getParent
(
bo
.
getClassId
());
add
.
setPhaseId
(
phase
.
getDeptId
());
bo
.
setPhaseId
(
phase
.
getDeptId
());
baseMapper
.
insert
(
add
);
// 从redis中获取所有题目
List
<
DbQuestionBank
>
dbQuestionBanks
=
JsonUtils
.
parseArray
(
RedisUtils
.
getCacheObject
(
DEFAULT_QUESTIOBN_BANK_KEY
),
DbQuestionBank
.
class
);
...
...
@@ -162,15 +167,15 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
Map
<
Integer
,
List
<
DbQuestionBank
>>
collect
=
dbQuestionBanks
.
stream
()
.
filter
(
bank
->
bank
.
getCategoryId
().
equals
(
bo
.
getCategoryId
())
&&
bank
.
getPhaseId
().
equals
(
bo
.
getPhaseId
())
&&
ArrayUtils
.
contains
(
bo
.
getIntensity
().
split
(
","
),
bank
.
getIntensity
())
&&
bo
.
getIntensitys
().
contains
(
bank
.
getIntensity
())
).
collect
(
Collectors
.
groupingBy
(
DbQuestionBank:
:
getSpecies
));
// 根据习题种类分组
// 选择题
List
<
DbQuestionBank
>
select
=
collect
.
get
(
"2"
);
List
<
DbQuestionBank
>
select
=
collect
.
get
(
2
);
// 填空题
List
<
DbQuestionBank
>
gapFilling
=
collect
.
get
(
"1"
);
List
<
DbQuestionBank
>
gapFilling
=
collect
.
get
(
1
);
// 解答题
List
<
DbQuestionBank
>
resolve
=
collect
.
get
(
"3"
);
List
<
DbQuestionBank
>
resolve
=
collect
.
get
(
3
);
// 随机筛选题目
List
<
DbQuestionBankTestPaper
>
papers
=
new
ArrayList
<>();
List
<
DbQuestionBankTestPaper
>
selectList
=
null
;
...
...
@@ -191,7 +196,7 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
}
questionBankTestPaperMapper
.
insertBatch
(
papers
);
this
.
saveSelectListOptions
(
add
.
getId
());
return
null
;
return
true
;
}
/**
...
...
@@ -226,7 +231,7 @@ public class DbTestPaperServiceImpl implements IDbTestPaperService {
* @return
*/
private
List
<
DbQuestionBankTestPaper
>
generatePaper
(
List
<
DbQuestionBank
>
list
,
int
num
,
Integer
totalPoints
,
Long
paperId
)
{
System
.
out
.
println
(
"系统正在随机抽取题目生成试卷,这可能需要一段时间,请耐心等候···"
);
log
.
info
(
"系统正在随机抽取题目生成试卷,这可能需要一段时间,请耐心等候···"
);
HashSet
<
DbQuestionBankTestPaper
>
paper
=
new
HashSet
<>();
//用来存储题目,set集合去重复
//这个while循环用来生成不重复的一套题目
while
(
paper
.
size
()
!=
num
)
{
...
...
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
View file @
3674ae68
...
...
@@ -21,43 +21,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap
type=
"com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo"
id=
"TestPaperRecordDetailResult"
>
<result
property=
"topic"
column=
"topic"
/>
<result
property=
"questionBankId"
column=
"question_bank_id"
/>
<result
property=
"answer"
column=
"answer"
/>
<result
property=
"answerPic"
column=
"answers_pic"
/>
<result
property=
"score"
column=
"score"
/>
<result
property=
"correctAnswer"
column=
"correctAnswer"
/>
<result
property=
"righAnswersPic"
column=
"right_answers_pic"
/>
<collection
property=
"
answers
"
ofType=
"com.ruoyi.school.paper.domain.vo.DbQuestionBankAnswerTestPaperVo"
>
<collection
property=
"
options"
javaType=
"java.util.List"
column=
"question_bank_id"
select=
"getOptionList
"
ofType=
"com.ruoyi.school.paper.domain.vo.DbQuestionBankAnswerTestPaperVo"
>
<result
property=
"optionTag"
column=
"option_tag"
/>
<result
property=
"optionContent"
column=
"option_content"
/>
</collection>
<collection
property=
"goodsAnswers"
ofType=
"com.ruoyi.school.paper.domain.vo.GoodsAnswersVo"
>
<collection
property=
"goodsAnswers"
javaType=
"java.util.List"
column=
"question_bank_id"
select=
"getGoodsAnserList"
ofType=
"com.ruoyi.school.paper.domain.vo.GoodsAnswersVo"
>
<result
property=
"goodsAnswer"
column=
"goods_answer"
/>
<result
property=
"
userName"
column=
"user
_name"
/>
<result
property=
"
nickName"
column=
"nick
_name"
/>
</collection>
</resultMap>
<select
id=
"queryPageList"
resultMap=
"TestPaperRecordDetailResult"
>
SELECT dqbatp.topic,
dqbatp.right_answers as correctAnswer,
dqbatp.right_answers_pic,
dtprd.answer,
dtprd.answers_pic,
dtprd.score,
d.option_tag,
d.option_content,
m.answer goods_answer,
m.user_name
FROM 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_answer_test_paper d ON dtprd.question_bank_id = d.question_bank_id
LEFT JOIN (SELECT a.answer,
su.user_name,
a.question_bank_id
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 = #{bo.questionBankId,jdbcType=BIGINT}
AND good = 0) m ON m.question_bank_id = dqbatp.id
WHERE dtprd.record_id = #{bo.recordId,jdbcType=BIGINT}
SELECT
dqbatp.topic,
dtprd.question_bank_id,
dqbatp.right_answers AS correctAnswer,
dqbatp.right_answers_pic,
dtprd.answer,
dtprd.answers_pic,
dtprd.score
FROM
db_test_paper_record_detail dtprd
LEFT JOIN db_question_bank_test_paper dqbatp ON dtprd.question_bank_id = dqbatp.id
WHERE
dtprd.record_id = #{bo.recordId}
</select>
<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
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 = #{question_bank_id}
AND good = 0
</select>
</mapper>
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordMapper.xml
View file @
3674ae68
...
...
@@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select dtpr.*,dtp.test_name
from db_test_paper_record dtpr
left join db_test_paper dtp on dtpr.test_paper_id = dtp.id
where dtpr.user_id = #{bo.userId,jdbcType=BIGINT}
where dtpr.user_id = #{bo.userId,jdbcType=BIGINT}
and dtpr.status > 0
</select>
<select
id=
"getPhaseList"
resultType=
"com.ruoyi.school.paper.domain.vo.DbTestPaperVo"
>
...
...
@@ -34,11 +34,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN sys_dept phase on dtp.phase_id = phase.dept_id
left join sys_dept class on dtp.class_id = class.dept_id
where dtpr.status in (1, 2, 3)
<if
test=
"bo.
phase
Id != null"
>
and dtp.
phase_id = #{bo.phase
Id,jdbcType=BIGINT}
<if
test=
"bo.
class
Id != null"
>
and dtp.
class_id = #{bo.class
Id,jdbcType=BIGINT}
</if>
<if
test=
"bo.testName != null and bo.testName != ''"
>
and dtp.test_name like concat('%', #{bo.testName,jdbcType=VARCHAR}, '%')
</if>
</select>
<select
id=
"getClassList"
resultType=
"com.ruoyi.school.paper.domain.vo.DbTestPaperVo"
>
select dtpr.id,
su.nick_name,
dtp.total_points,
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
left join sys_user su on su.user_id = dtpr.user_id
LEFT JOIN sys_dept phase on dtp.phase_id = phase.dept_id
left join sys_dept class on dtp.class_id = class.dept_id
where dtpr.status in (1, 2, 3)
<if
test=
"bo.classId != null"
>
and dtp.class_id = #{bo.classId,jdbcType=BIGINT}
</if>
<if
test=
"bo.nickName != null and bo.testName != ''"
>
and su.nick_name like concat('%', #{bo.nickName,jdbcType=VARCHAR}, '%')
</if>
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment