mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 11:56:50 +08:00
Merge branch 'refs/heads/zcwy0622-yang' into dev0525
This commit is contained in:
@@ -27,10 +27,10 @@ public class SaveExamScoreDto {
|
|||||||
*/
|
*/
|
||||||
private String testId;
|
private String testId;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 考试名称
|
// * 考试名称
|
||||||
*/
|
// */
|
||||||
private String testName;
|
// private String testName;
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 考试时长 分钟
|
// * 考试时长 分钟
|
||||||
@@ -77,10 +77,10 @@ public class SaveExamScoreDto {
|
|||||||
*/
|
*/
|
||||||
private Float realScore;
|
private Float realScore;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 用时秒
|
// * 用时秒
|
||||||
*/
|
// */
|
||||||
private Integer useMinute;
|
// private Integer useMinute;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -106,17 +106,17 @@ public class SaveExamScoreDto {
|
|||||||
*/
|
*/
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 考试次数
|
// * 考试次数
|
||||||
*/
|
// */
|
||||||
private Integer times;
|
// private Integer times;
|
||||||
|
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 记录最后的操作时间
|
// * 记录最后的操作时间
|
||||||
*/
|
// */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
|
// @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
|
||||||
private LocalDateTime lastTime;
|
// private LocalDateTime lastTime;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,10 +93,13 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
|||||||
|
|
||||||
//更新状态,状态是未完成的,这里会有问题
|
//更新状态,状态是未完成的,这里会有问题
|
||||||
if(scoreType!=null && scoreType==2) {
|
if(scoreType!=null && scoreType==2) {
|
||||||
|
AloneExam ae=aeDao.findOne(FieldFilters.eq("aid", aea.getAid()),FieldFilters.eq("testId", aea.getTestId()));
|
||||||
|
long currentTimes = ae.getTimes() != null ? ae.getTimes() : 0;
|
||||||
//最后一次的分数为准
|
//最后一次的分数为准
|
||||||
aeDao.update(UpdateBuilder.from(AloneExam.class)
|
aeDao.update(UpdateBuilder.from(AloneExam.class)
|
||||||
.addUpdateField("status", aea.getStatus())
|
.addUpdateField("status", aea.getStatus())
|
||||||
.addUpdateField("score", aea.getScore())
|
.addUpdateField("score", aea.getScore())
|
||||||
|
.addUpdateField("times", currentTimes+1)
|
||||||
.addFilter(FieldFilters.eq("aid", aea.getAid()))
|
.addFilter(FieldFilters.eq("aid", aea.getAid()))
|
||||||
.addFilter(FieldFilters.eq("testId", aea.getTestId()))
|
.addFilter(FieldFilters.eq("testId", aea.getTestId()))
|
||||||
.builder());
|
.builder());
|
||||||
@@ -111,6 +114,8 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
|||||||
}else {
|
}else {
|
||||||
aeDao.updateMultiFieldById(ae.getId(), UpdateBuilder.create("status", aea.getStatus()),UpdateBuilder.create("score", aea.getScore()));
|
aeDao.updateMultiFieldById(ae.getId(), UpdateBuilder.create("status", aea.getStatus()),UpdateBuilder.create("score", aea.getScore()));
|
||||||
}
|
}
|
||||||
|
long currentTimes = ae.getTimes() != null ? ae.getTimes() : 0;
|
||||||
|
aeDao.updateFieldById(ae.getId(), "times", currentTimes+1);
|
||||||
}
|
}
|
||||||
// else {
|
// else {
|
||||||
// //这种情况汶是不存在的
|
// //这种情况汶是不存在的
|
||||||
@@ -501,7 +506,7 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
|||||||
aloneExamAnswer.setAid(userId);
|
aloneExamAnswer.setAid(userId);
|
||||||
aloneExamAnswer.setName(examScoreDto.getUserName());
|
aloneExamAnswer.setName(examScoreDto.getUserName());
|
||||||
aloneExamAnswer.setUcode(examScoreDto.getWorkNum());
|
aloneExamAnswer.setUcode(examScoreDto.getWorkNum());
|
||||||
aloneExamAnswer.setUseSecond(examScoreDto.getUseMinute()*60);
|
// aloneExamAnswer.setUseSecond(examScoreDto.getUseMinute()*60);
|
||||||
|
|
||||||
ExamTest examTest = examTestDao.get(examScoreDto.getTestId());
|
ExamTest examTest = examTestDao.get(examScoreDto.getTestId());
|
||||||
aloneExamAnswer.setPassLine(examTest.getPassLine());
|
aloneExamAnswer.setPassLine(examTest.getPassLine());
|
||||||
@@ -509,34 +514,29 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
|||||||
aloneExamAnswer.setTestDuration(examTest.getTestDuration());
|
aloneExamAnswer.setTestDuration(examTest.getTestDuration());
|
||||||
|
|
||||||
// 获取考试任务ID
|
// 获取考试任务ID
|
||||||
String aloneExamId = (String) aeDao.findField("id",
|
AloneExam aloneExam=aeDao.findOne(FieldFilters.eq("aid", userId),FieldFilters.eq("testId", examScoreDto.getTestId()));
|
||||||
FieldFilters.eq("aid", userId),
|
aloneExamAnswer.setAloneId(aloneExam.getId());
|
||||||
FieldFilters.eq("testId", examScoreDto.getTestId())
|
|
||||||
);
|
|
||||||
aloneExamAnswer.setAloneId(aloneExamId);
|
|
||||||
// 添加答卷
|
// 添加答卷
|
||||||
dao.save(aloneExamAnswer);
|
dao.save(aloneExamAnswer);
|
||||||
|
|
||||||
// 更新状态,状态是未完成的,这里会有问题
|
// 更新状态,状态是未完成的,这里会有问题
|
||||||
|
long currentTimes = aloneExam.getTimes() != null ? aloneExam.getTimes() : 0;
|
||||||
if(examTest.getScoringType()!=null && examTest.getScoringType()==2) {
|
if(examTest.getScoringType()!=null && examTest.getScoringType()==2) {
|
||||||
//最后一次的分数为准
|
//最后一次的分数为准
|
||||||
aeDao.update(UpdateBuilder.from(AloneExam.class)
|
aeDao.update(UpdateBuilder.from(AloneExam.class)
|
||||||
.addUpdateField("status", examScoreDto.getStatus())
|
.addUpdateField("status", examScoreDto.getStatus())
|
||||||
.addUpdateField("score", examScoreDto.getScore())
|
.addUpdateField("score", examScoreDto.getScore())
|
||||||
|
.addUpdateField("times", currentTimes+1)
|
||||||
.addFilter(FieldFilters.eq("aid", userId))
|
.addFilter(FieldFilters.eq("aid", userId))
|
||||||
.addFilter(FieldFilters.eq("testId", examScoreDto.getTestId()))
|
.addFilter(FieldFilters.eq("testId", examScoreDto.getTestId()))
|
||||||
.builder());
|
.builder());
|
||||||
}else {
|
} else {
|
||||||
//更新状态
|
if (aloneExam.getStatus() == AloneExam.STATUS_FINISH) {
|
||||||
AloneExam ae=aeDao.findOne(FieldFilters.eq("aid", userId),FieldFilters.eq("testId", examScoreDto.getTestId()));
|
if (aloneExam.getScore() < examScoreDto.getScore()) {
|
||||||
if(ae!=null) {
|
aeDao.updateMultiFieldById(aloneExam.getId(), UpdateBuilder.create("score", examScoreDto.getScore()), UpdateBuilder.create("times", currentTimes+1));
|
||||||
if(ae.getStatus()==AloneExam.STATUS_FINISH) {
|
|
||||||
if(ae.getScore()<examScoreDto.getScore()) {
|
|
||||||
aeDao.updateFieldById(ae.getId(), "score", examScoreDto.getScore());
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
aeDao.updateMultiFieldById(ae.getId(), UpdateBuilder.create("status", examScoreDto.getStatus()),UpdateBuilder.create("score", examScoreDto.getScore()));
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
aeDao.updateMultiFieldById(aloneExam.getId(), UpdateBuilder.create("status", examScoreDto.getStatus()), UpdateBuilder.create("score", examScoreDto.getScore()), UpdateBuilder.create("times", currentTimes+1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user