|
@@ -1,6 +1,8 @@
|
|
|
package vip.xiaonuo.exam.controller.student;
|
|
package vip.xiaonuo.exam.controller.student;
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
|
|
import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
|
|
|
|
|
+import vip.xiaonuo.common.pojo.CommonResult;
|
|
|
import vip.xiaonuo.exam.base.BaseApiController;
|
|
import vip.xiaonuo.exam.base.BaseApiController;
|
|
|
import vip.xiaonuo.exam.base.RestResponse;
|
|
import vip.xiaonuo.exam.base.RestResponse;
|
|
|
|
|
|
|
@@ -46,30 +48,28 @@ public class ExamPaperAnswerController extends BaseApiController {
|
|
|
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/pageList", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/pageList", method = RequestMethod.POST)
|
|
|
- public RestResponse<PageInfo<ExamPaperAnswerPageResponseVM>> pageList(@RequestBody @Valid ExamPaperAnswerPageVM model) {
|
|
|
|
|
|
|
+ public CommonResult<Page<ExamPaperAnswer>> pageList(@RequestBody @Valid ExamPaperAnswerPageVM model) {
|
|
|
model.setCreateUser(getCurrentUser().getId());
|
|
model.setCreateUser(getCurrentUser().getId());
|
|
|
- PageInfo<ExamPaperAnswer> pageInfo = examPaperAnswerService.studentPage(model);
|
|
|
|
|
- PageInfo<ExamPaperAnswerPageResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
|
|
|
|
|
- ExamPaperAnswerPageResponseVM vm = modelMapper.map(e, ExamPaperAnswerPageResponseVM.class);
|
|
|
|
|
|
|
+ Page<ExamPaperAnswer> pageInfo = examPaperAnswerService.studentPage(model);
|
|
|
|
|
+ pageInfo.getRecords().forEach(vm -> {
|
|
|
Subject subject = subjectService.selectById(vm.getSubjectId());
|
|
Subject subject = subjectService.selectById(vm.getSubjectId());
|
|
|
- vm.setDoTime(ExamUtil.secondToVM(e.getDoTime()));
|
|
|
|
|
- vm.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore()));
|
|
|
|
|
- vm.setUserScore(ExamUtil.scoreToVM(e.getUserScore()));
|
|
|
|
|
- vm.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore()));
|
|
|
|
|
|
|
+ vm.setDoTimeStr(ExamUtil.secondToVM(vm.getDoTime()));
|
|
|
|
|
+ vm.setSystemScoreStr(ExamUtil.scoreToVM(vm.getSystemScore()));
|
|
|
|
|
+ vm.setUserScoreStr(ExamUtil.scoreToVM(vm.getUserScore()));
|
|
|
|
|
+ vm.setPaperScoreStr(ExamUtil.scoreToVM(vm.getPaperScore()));
|
|
|
vm.setSubjectName(subject.getName());
|
|
vm.setSubjectName(subject.getName());
|
|
|
- vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
|
|
|
|
|
- return vm;
|
|
|
|
|
|
|
+ vm.setCreateTimeStr(DateTimeUtil.dateFormat(vm.getCreateTime()));
|
|
|
});
|
|
});
|
|
|
- return RestResponse.ok(page);
|
|
|
|
|
|
|
+ return CommonResult.data(pageInfo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/answerSubmit", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/answerSubmit", method = RequestMethod.POST)
|
|
|
- public RestResponse answerSubmit(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) {
|
|
|
|
|
|
|
+ public CommonResult<String> answerSubmit(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) {
|
|
|
SaBaseLoginUser user = getCurrentUser();
|
|
SaBaseLoginUser user = getCurrentUser();
|
|
|
ExamPaperAnswerInfo examPaperAnswerInfo = examPaperAnswerService.calculateExamPaperAnswer(examPaperSubmitVM, user);
|
|
ExamPaperAnswerInfo examPaperAnswerInfo = examPaperAnswerService.calculateExamPaperAnswer(examPaperSubmitVM, user);
|
|
|
if (null == examPaperAnswerInfo) {
|
|
if (null == examPaperAnswerInfo) {
|
|
|
- return RestResponse.fail(2, "试卷不能重复做");
|
|
|
|
|
|
|
+ return CommonResult.error( "试卷不能重复做");
|
|
|
}
|
|
}
|
|
|
ExamPaperAnswer examPaperAnswer = examPaperAnswerInfo.getExamPaperAnswer();
|
|
ExamPaperAnswer examPaperAnswer = examPaperAnswerInfo.getExamPaperAnswer();
|
|
|
Integer userScore = examPaperAnswer.getUserScore();
|
|
Integer userScore = examPaperAnswer.getUserScore();
|
|
@@ -81,21 +81,21 @@ public class ExamPaperAnswerController extends BaseApiController {
|
|
|
userEventLog.setContent(content);
|
|
userEventLog.setContent(content);
|
|
|
eventPublisher.publishEvent(new CalculateExamPaperAnswerCompleteEvent(examPaperAnswerInfo));
|
|
eventPublisher.publishEvent(new CalculateExamPaperAnswerCompleteEvent(examPaperAnswerInfo));
|
|
|
eventPublisher.publishEvent(new UserEvent(userEventLog));
|
|
eventPublisher.publishEvent(new UserEvent(userEventLog));
|
|
|
- return RestResponse.ok(scoreVm);
|
|
|
|
|
|
|
+ return CommonResult.ok(scoreVm);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/edit", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/edit", method = RequestMethod.POST)
|
|
|
- public RestResponse edit(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) {
|
|
|
|
|
|
|
+ public CommonResult<String> edit(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) {
|
|
|
boolean notJudge = examPaperSubmitVM.getAnswerItems().stream().anyMatch(i -> i.getDoRight() == null && i.getScore() == null);
|
|
boolean notJudge = examPaperSubmitVM.getAnswerItems().stream().anyMatch(i -> i.getDoRight() == null && i.getScore() == null);
|
|
|
if (notJudge) {
|
|
if (notJudge) {
|
|
|
- return RestResponse.fail(2, "有未批改题目");
|
|
|
|
|
|
|
+ return CommonResult.error("有未批改题目");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ExamPaperAnswer examPaperAnswer = examPaperAnswerService.selectById(examPaperSubmitVM.getId());
|
|
ExamPaperAnswer examPaperAnswer = examPaperAnswerService.selectById(examPaperSubmitVM.getId());
|
|
|
ExamPaperAnswerStatusEnum examPaperAnswerStatusEnum = ExamPaperAnswerStatusEnum.fromCode(examPaperAnswer.getStatus());
|
|
ExamPaperAnswerStatusEnum examPaperAnswerStatusEnum = ExamPaperAnswerStatusEnum.fromCode(examPaperAnswer.getStatus());
|
|
|
if (examPaperAnswerStatusEnum == ExamPaperAnswerStatusEnum.Complete) {
|
|
if (examPaperAnswerStatusEnum == ExamPaperAnswerStatusEnum.Complete) {
|
|
|
- return RestResponse.fail(3, "试卷已完成");
|
|
|
|
|
|
|
+ return CommonResult.error("试卷已完成");
|
|
|
}
|
|
}
|
|
|
String score = examPaperAnswerService.judge(examPaperSubmitVM);
|
|
String score = examPaperAnswerService.judge(examPaperSubmitVM);
|
|
|
SaBaseLoginUser user = getCurrentUser();
|
|
SaBaseLoginUser user = getCurrentUser();
|
|
@@ -103,18 +103,18 @@ public class ExamPaperAnswerController extends BaseApiController {
|
|
|
String content = user.getName() + " 批改试卷:" + examPaperAnswer.getPaperName() + " 得分:" + score;
|
|
String content = user.getName() + " 批改试卷:" + examPaperAnswer.getPaperName() + " 得分:" + score;
|
|
|
userEventLog.setContent(content);
|
|
userEventLog.setContent(content);
|
|
|
eventPublisher.publishEvent(new UserEvent(userEventLog));
|
|
eventPublisher.publishEvent(new UserEvent(userEventLog));
|
|
|
- return RestResponse.ok(score);
|
|
|
|
|
|
|
+ return CommonResult.ok(score);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@RequestMapping(value = "/read/{id}", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/read/{id}", method = RequestMethod.POST)
|
|
|
- public RestResponse<ExamPaperReadVM> read(@PathVariable Integer id) {
|
|
|
|
|
|
|
+ public CommonResult<ExamPaperReadVM> read(@PathVariable Integer id) {
|
|
|
ExamPaperAnswer examPaperAnswer = examPaperAnswerService.selectById(id);
|
|
ExamPaperAnswer examPaperAnswer = examPaperAnswerService.selectById(id);
|
|
|
ExamPaperReadVM vm = new ExamPaperReadVM();
|
|
ExamPaperReadVM vm = new ExamPaperReadVM();
|
|
|
ExamPaperEditRequestVM paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
|
|
ExamPaperEditRequestVM paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
|
|
|
ExamPaperSubmitVM answer = examPaperAnswerService.examPaperAnswerToVM(examPaperAnswer.getId());
|
|
ExamPaperSubmitVM answer = examPaperAnswerService.examPaperAnswerToVM(examPaperAnswer.getId());
|
|
|
vm.setPaper(paper);
|
|
vm.setPaper(paper);
|
|
|
vm.setAnswer(answer);
|
|
vm.setAnswer(answer);
|
|
|
- return RestResponse.ok(vm);
|
|
|
|
|
|
|
+ return CommonResult.data(vm);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|