Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
exam-project
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
hqzhdj
exam-project
Commits
7dfdebe7
Commit
7dfdebe7
authored
Oct 29, 2025
by
“Kongxiangkun”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加积分商城相关代码
parent
3aea8ea3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
25 deletions
+47
-25
cloud-exam/src/main/java/com/yizhi/application/controller/TrExamOnlineReadOverController.java
+20
-6
cloud-exam/src/main/java/com/yizhi/application/service/ITrExamOnlineReadOverService.java
+1
-1
cloud-exam/src/main/java/com/yizhi/application/service/impl/TrExamOnlineReadOverServiceImpl.java
+26
-18
No files found.
cloud-exam/src/main/java/com/yizhi/application/controller/TrExamOnlineReadOverController.java
View file @
7dfdebe7
package
com
.
yizhi
.
application
.
controller
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.plugins.pagination.PageHelper
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.yizhi.application.domain.TrExamOnlineReadOver
;
import
com.yizhi.core.application.context.ContextHolder
;
import
com.yizhi.core.application.context.RequestContext
;
import
com.yizhi.application.export.ReadOnLineExamsExport
;
import
com.yizhi.application.mapper.TrExamOnlineReadOverMapper
;
import
com.yizhi.application.service.IExamService
;
import
com.yizhi.application.service.ITrExamAnswerService
;
import
com.yizhi.application.service.ITrExamAuthorizeService
;
import
com.yizhi.application.service.ITrExamOnlineReadOverService
;
import
com.yizhi.core.application.context.ContextHolder
;
import
com.yizhi.core.application.context.RequestContext
;
import
com.yizhi.exam.application.vo.*
;
import
com.yizhi.exam.application.vo.domain.Exam
;
import
com.yizhi.point.application.feign.PointApiFeignClients
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -33,6 +36,7 @@ import java.util.Map;
* @author yizhi123
* @since 2018-03-13
*/
@Slf4j
@RestController
@RequestMapping
(
"/manage/exam"
)
public
class
TrExamOnlineReadOverController
{
...
...
@@ -56,6 +60,8 @@ public class TrExamOnlineReadOverController {
@Autowired
private
ReadOnLineExamsExport
readOnLineExamsExport
;
@Autowired
private
PointApiFeignClients
pointApiFeignClients
;
/**
* 阅卷列表
...
...
@@ -212,13 +218,21 @@ public class TrExamOnlineReadOverController {
}*/
@PostMapping
(
value
=
"/marking/student/save"
)
public
Integer
insertByFile
(
@RequestBody
MarkStudentVO
markStudentVO
)
{
Integer
result
=
null
;
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>()
;
try
{
result
=
iTrExamOnlineReadOverService
.
insertMarkStudent
(
markStudentVO
);
return
result
;
resultMap
=
iTrExamOnlineReadOverService
.
insertMarkStudent
(
markStudentVO
);
Integer
score
=
(
Integer
)
resultMap
.
get
(
"score"
);
Integer
qualifiedScore
=
(
Integer
)
resultMap
.
get
(
"qualifiedScore"
);
String
examId
=
(
String
)
resultMap
.
get
(
"examId"
);
//考试交卷后根据分数增加积分
if
(
score
.
intValue
()
>=
qualifiedScore
.
intValue
())
{
log
.
info
(
"考试合格发放积分:{}"
,
JSONUtil
.
toJsonStr
(
resultMap
));
pointApiFeignClients
.
addPoint
(
markStudentVO
.
getAccountId
(),
"point_exam"
,
examId
+
"|"
+
score
);
}
return
score
;
}
catch
(
Exception
e
)
{
Log
.
error
(
""
,
e
);
return
result
;
return
0
;
}
}
...
...
cloud-exam/src/main/java/com/yizhi/application/service/ITrExamOnlineReadOverService.java
View file @
7dfdebe7
...
...
@@ -81,7 +81,7 @@ public interface ITrExamOnlineReadOverService extends IService<TrExamOnlineReadO
MarkStudentVO
markStudent
(
Long
id
);
Integer
insertMarkStudent
(
MarkStudentVO
markStudentVO
);
Map
<
String
,
Object
>
insertMarkStudent
(
MarkStudentVO
markStudentVO
);
/**
* 根据考试ID查询已阅卷人数
...
...
cloud-exam/src/main/java/com/yizhi/application/service/impl/TrExamOnlineReadOverServiceImpl.java
View file @
7dfdebe7
package
com
.
yizhi
.
application
.
service
.
impl
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.service.impl.ServiceImpl
;
import
com.yizhi.application.domain.*
;
...
...
@@ -299,7 +300,8 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
@Transactional
(
propagation
=
Propagation
.
REQUIRED
)
@Override
public
Integer
insertMarkStudent
(
MarkStudentVO
markStudentVO
)
{
public
Map
<
String
,
Object
>
insertMarkStudent
(
MarkStudentVO
markStudentVO
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
Date
createTime
=
new
Date
();
BigDecimal
score
=
new
BigDecimal
(
0
);
TrExamAnswerQuestion
trExamAnswerQuestion
;
...
...
@@ -359,19 +361,21 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
type
=
type
==
null
?
0
:
type
;
if
(
overResult
&&
type
==
1
)
{
BigDecimal
totalScore
=
trExamOnlineReadOver
.
getSumScore
();
point
=
totalScore
.
intValue
();
result
.
put
(
"score"
,
totalScore
);
//计算考试积分
List
<
TrExamPointVO
>
trExamPointVOS
=
iTrExamPointService
.
listTrExamPoint
(
trExamOnlineReadOver
.
getExamId
());
for
(
TrExamPointVO
trExamPointVO
:
trExamPointVOS
)
{
BigDecimal
minScore
=
new
BigDecimal
(
trExamPointVO
.
getMinScore
());
BigDecimal
maxScore
=
new
BigDecimal
(
trExamPointVO
.
getMaxScore
());
//a = -1,表示bigdemical小于bigdemical2;a = 0 表示bigdemical等于bigdemical2;a = 1表示bigdemical大于bigdemical2;
Integer
a
=
totalScore
.
compareTo
(
minScore
);
Integer
b
=
totalScore
.
compareTo
(
maxScore
);
if
(
a
>=
0
&&
b
<
1
)
{
point
=
trExamPointVO
.
getPoint
();
break
;
}
}
//
List<TrExamPointVO> trExamPointVOS = iTrExamPointService.listTrExamPoint(trExamOnlineReadOver.getExamId());
//
for (TrExamPointVO trExamPointVO : trExamPointVOS) {
//
BigDecimal minScore = new BigDecimal(trExamPointVO.getMinScore());
//
BigDecimal maxScore = new BigDecimal(trExamPointVO.getMaxScore());
//
//a = -1,表示bigdemical小于bigdemical2;a = 0 表示bigdemical等于bigdemical2;a = 1表示bigdemical大于bigdemical2;
//
Integer a = totalScore.compareTo(minScore);
//
Integer b = totalScore.compareTo(maxScore);
//
if (a >= 0 && b < 1) {
//
point = trExamPointVO.getPoint();
//
break;
//
}
//
}
//完成阅卷了,更新答卷状态
TrExamAnswer
trExamAnswer
=
new
TrExamAnswer
();
...
...
@@ -387,10 +391,14 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
try
{
TrExamAnswer
trExamAnswer1
=
trExamAnswerMapper
.
selectById
(
markStudentVO
.
getExamAnswerId
());
if
(
trExamAnswer1
==
null
)
{
return
poin
t
;
return
resul
t
;
}
Exam
exam
=
examService
.
selectById
(
trExamAnswer1
.
getExamId
());
if
(
exam
!=
null
)
{
result
.
put
(
"examId"
,
exam
.
getId
());
result
.
put
(
"qualifiedScore"
,
exam
.
getQualifiedScore
());
if
(
trExamAnswer1
.
getAccountId
()
!=
null
)
{
taskExecutor
.
asynExecute
(
new
AbstractTaskHandler
()
{
@Override
...
...
@@ -407,12 +415,12 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
poin
t
;
Log
.
info
(
"手动阅卷完成,考试得分返回结果result:{}"
,
JSONUtil
.
toJsonStr
(
result
));
return
resul
t
;
}
else
{
Log
.
info
(
"考试:
"
+
trExamOnlineReadOver
.
getExamId
()
+
"无积分发放"
);
Log
.
info
(
"考试:
{} 无积分发放"
,
trExamOnlineReadOver
.
getExamId
()
);
}
return
poin
t
;
return
resul
t
;
}
/**
...
...
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