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
05a4c8a9
Commit
05a4c8a9
authored
Jul 21, 2023
by
Wangmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小程序 交卷
parent
a9b4541c
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
116 additions
and
16 deletions
+116
-16
school-paper/src/main/java/com/ruoyi/school/paper/controller/TestPaperController.java
+10
-6
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerBo.java
+29
-0
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java
+29
-0
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbTestPaperRecordDetailService.java
+2
-0
school-paper/src/main/java/com/ruoyi/school/paper/service/ITestPaperService.java
+9
-0
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbCollectListServiceImpl.java
+0
-3
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
+8
-3
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
+29
-4
No files found.
school-paper/src/main/java/com/ruoyi/school/paper/controller/TestPaperController.java
View file @
05a4c8a9
...
...
@@ -4,14 +4,12 @@ import com.ruoyi.common.annotation.Log;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.school.paper.domain.bo.TestPaperAnswerBo
;
import
com.ruoyi.school.paper.domain.vo.TestPaperVo
;
import
com.ruoyi.school.paper.service.ITestPaperService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Objects
;
...
...
@@ -35,12 +33,18 @@ public class TestPaperController extends BaseController {
*
* @return 试卷
*/
@Log
(
title
=
"开始
开始
"
,
businessType
=
BusinessType
.
OTHER
)
@Log
(
title
=
"开始
考试
"
,
businessType
=
BusinessType
.
OTHER
)
@GetMapping
(
"/startTest/{paperId}"
)
public
R
<
TestPaperVo
>
startTest
(
@PathVariable
(
"paperId"
)
Long
paperId
)
{
Long
userId
=
getUserId
();
Objects
.
requireNonNull
(
userId
,
"未检查到合法账户信息"
);
return
R
.
ok
(
testPaperService
.
generateTestPaper
(
userId
,
paperId
));
return
R
.
ok
(
testPaperService
.
generateTestPaper
(
userId
,
paperId
));
}
@Log
(
title
=
"交卷"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"/endTest/"
)
public
R
<
Void
>
paperTestEnd
(
@RequestBody
TestPaperAnswerBo
bo
)
{
return
toAjax
(
testPaperService
.
paperTestEnd
(
bo
));
}
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerBo.java
0 → 100644
View file @
05a4c8a9
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* 试卷答题记录
* <p>created in 2023/7/21 18:59
*
* @author WangMin
* @version 1.0
*/
@Data
public
class
TestPaperAnswerBo
{
/**
* 记录ID
*/
@NotNull
(
message
=
"记录id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
recordId
;
/**
* 试卷考题答案
*/
private
List
<
TestPaperAnswerItemBo
>
answers
;
}
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/TestPaperAnswerItemBo.java
0 → 100644
View file @
05a4c8a9
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* 答题卷结果单项
* <p>created in 2023/7/21 19:07
*
* @author WangMin
* @version 1.0
*/
@Data
public
class
TestPaperAnswerItemBo
{
/**
* 问题ID
*/
@NotNull
(
message
=
"问题id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
id
;
/**
* 学生答题内容
*/
private
String
answer
;
}
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbTestPaperRecordDetailService.java
View file @
05a4c8a9
...
...
@@ -46,4 +46,6 @@ public interface IDbTestPaperRecordDetailService {
* 校验并批量删除答题记录详情信息
*/
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
);
boolean
saveBatch
(
Collection
<
DbTestPaperRecordDetail
>
collection
);
}
school-paper/src/main/java/com/ruoyi/school/paper/service/ITestPaperService.java
View file @
05a4c8a9
package
com
.
ruoyi
.
school
.
paper
.
service
;
import
com.ruoyi.school.paper.domain.bo.TestPaperAnswerBo
;
import
com.ruoyi.school.paper.domain.vo.TestPaperVo
;
/**
...
...
@@ -21,4 +22,12 @@ public interface ITestPaperService {
*/
TestPaperVo
generateTestPaper
(
Long
userId
,
Long
paperId
);
/**
* 交卷
*
* @param bo 试题类容
* @return 操作结果
*/
boolean
paperTestEnd
(
TestPaperAnswerBo
bo
);
}
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbCollectListServiceImpl.java
View file @
05a4c8a9
package
com
.
ruoyi
.
school
.
paper
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.ruoyi.school.paper.domain.vo.MyCollectListVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.school.paper.domain.bo.DbCollectListBo
;
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
View file @
05a4c8a9
...
...
@@ -35,7 +35,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
* 查询答题记录详情
*/
@Override
public
DbTestPaperRecordDetailVo
queryById
(
Long
id
){
public
DbTestPaperRecordDetailVo
queryById
(
Long
id
)
{
return
baseMapper
.
selectVoById
(
id
);
}
...
...
@@ -98,7 +98,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
DbTestPaperRecordDetail
entity
){
private
void
validEntityBeforeSave
(
DbTestPaperRecordDetail
entity
)
{
//TODO 做一些数据校验,如唯一约束
}
...
...
@@ -107,9 +107,14 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
@Override
public
boolean
saveBatch
(
Collection
<
DbTestPaperRecordDetail
>
collection
)
{
return
baseMapper
.
insertBatch
(
collection
);
}
}
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
View file @
05a4c8a9
package
com
.
ruoyi
.
school
.
paper
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.school.paper.domain.bo.TestPaperAnswerBo
;
import
com.ruoyi.school.paper.domain.bo.TestPaperAnswerItemBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperVo
;
import
com.ruoyi.school.paper.domain.vo.TestPaperVo
;
import
com.ruoyi.school.paper.domain.vo.TestQuestionsVo
;
import
com.ruoyi.school.paper.service.IDbQuestionBankTestPaperService
;
import
com.ruoyi.school.paper.service.IDbTestPaperRecordService
;
import
com.ruoyi.school.paper.service.IDbTestPaperService
;
import
com.ruoyi.school.paper.service.ITestPaperService
;
import
com.ruoyi.school.paper.service.*
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -32,6 +34,8 @@ public class TestPaperServiceImpl implements ITestPaperService {
private
final
IDbQuestionBankTestPaperService
bankTestPaperService
;
private
final
IDbTestPaperRecordDetailService
paperRecordDetailService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
TestPaperVo
generateTestPaper
(
Long
userId
,
Long
paperId
)
{
...
...
@@ -55,4 +59,25 @@ public class TestPaperServiceImpl implements ITestPaperService {
result
.
setQuestions
(
testPaperQuestion
);
return
result
;
}
@Override
public
boolean
paperTestEnd
(
TestPaperAnswerBo
bo
)
{
List
<
TestPaperAnswerItemBo
>
answers
=
bo
.
getAnswers
();
if
(
CollUtil
.
isEmpty
(
answers
))
{
return
true
;
}
List
<
DbTestPaperRecordDetail
>
insertPaperRecords
=
new
ArrayList
<>(
answers
.
size
());
for
(
TestPaperAnswerItemBo
answer
:
answers
)
{
DbTestPaperRecordDetail
buffer
=
new
DbTestPaperRecordDetail
();
buffer
.
setRecordId
(
bo
.
getRecordId
());
buffer
.
setQuestionBankId
(
answer
.
getId
());
buffer
.
setAnswer
(
answer
.
getAnswer
());
insertPaperRecords
.
add
(
buffer
);
}
if
(
CollUtil
.
isNotEmpty
(
insertPaperRecords
))
{
paperRecordDetailService
.
saveBatch
(
insertPaperRecords
);
return
true
;
}
return
false
;
}
}
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