|
@@ -6,19 +6,17 @@ import cn.iselab.mooctest.site.common.enums.SortOrder;
|
|
|
import cn.iselab.mooctest.site.data.PageData;
|
|
|
import cn.iselab.mooctest.site.data.Sort;
|
|
|
import cn.iselab.mooctest.site.models.ApplyUploadRecord;
|
|
|
-import cn.iselab.mooctest.site.models.Exam;
|
|
|
import cn.iselab.mooctest.site.service.CaughtNodeService;
|
|
|
import cn.iselab.mooctest.site.service.CompeteAnalysisAssignedTaskService;
|
|
|
-import cn.iselab.mooctest.site.service.enums.ExamStatus;
|
|
|
import cn.iselab.mooctest.site.web.data.AssignedTaskVO;
|
|
|
import cn.iselab.mooctest.site.web.data.CompeteAnalysisVO;
|
|
|
import cn.iselab.mooctest.site.web.data.ExamVO;
|
|
|
+import cn.iselab.mooctest.site.web.data.TypeScoreJson;
|
|
|
import cn.iselab.mooctest.site.web.data.UploadCaughtNodeJson;
|
|
|
import cn.iselab.mooctest.site.web.data.WeightDirtyVO;
|
|
|
import cn.iselab.mooctest.site.web.data.forMongo.NodeCatch.CaughtNodeDTO;
|
|
|
import cn.iselab.mooctest.site.web.data.response.ResponseVO;
|
|
|
import cn.iselab.mooctest.site.web.data.response.ServerCode;
|
|
|
-import cn.iselab.mooctest.site.web.exception.ServerException;
|
|
|
import cn.iselab.mooctest.site.web.logic.CalculateSocreLogic;
|
|
|
import cn.iselab.mooctest.site.web.logic.ExamLogic;
|
|
|
import cn.iselab.mooctest.site.web.logic.GeneralCalculateScoreLogic;
|
|
@@ -106,6 +104,21 @@ public class ScoreController extends BaseController {
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = UrlConstants.API_COMMON +
|
|
|
+ "generalUploadCaughtNode", method = RequestMethod.PUT)
|
|
|
+ public ResponseVO generalCatchNode(@RequestBody UploadCaughtNodeJson uploadCaughtNodeJson)
|
|
|
+ throws Exception {
|
|
|
+
|
|
|
+ return generalCatchNode(
|
|
|
+ uploadCaughtNodeJson.getCaseId(),
|
|
|
+ uploadCaughtNodeJson.getUploadTime(),
|
|
|
+ uploadCaughtNodeJson.getUploadId(),
|
|
|
+ uploadCaughtNodeJson.getSource(),
|
|
|
+ uploadCaughtNodeJson.getCaughtNodeDTOs()
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = UrlConstants.API_COMMON +
|
|
|
"generalUploadCaughtNode/{caseId}/{uploadTime}/{uploadId}/{source}", method =
|
|
|
RequestMethod.PUT)
|
|
|
public ResponseVO generalCatchNode(
|
|
@@ -115,18 +128,11 @@ public class ScoreController extends BaseController {
|
|
|
@PathVariable("source") String source,
|
|
|
@RequestBody List<CaughtNodeDTO> caughtNodeDTOs) throws Exception {
|
|
|
|
|
|
- ApplyUploadRecord applyUploadRecord = generalCalculateScoreLogic
|
|
|
- .getApplyUploadRecord(uploadId);
|
|
|
- if(applyUploadRecord == null){
|
|
|
- return new ResponseVO(ServerCode.NO_APPLY_FOUND);
|
|
|
- }
|
|
|
-
|
|
|
- ExamVO exam = examLogic.getExamById(applyUploadRecord.getExamId());
|
|
|
- long endTime = exam.getEndTime();
|
|
|
- long applyTime = Long.parseLong(applyUploadRecord.getApplyTime());
|
|
|
- if(applyTime > endTime){
|
|
|
- return new ResponseVO(ServerCode.EXAM_ENDED);
|
|
|
+ ResponseVO<ApplyUploadRecord> responseVO = validateSubmit(uploadId);
|
|
|
+ if(responseVO.getCode() != ServerCode.SUCCESS.getCode()){
|
|
|
+ return responseVO;
|
|
|
}
|
|
|
+ ApplyUploadRecord applyUploadRecord = responseVO.getData();
|
|
|
calculateSocreLogic.recordNode(
|
|
|
applyUploadRecord.getExamId(),
|
|
|
caseId,
|
|
@@ -135,22 +141,54 @@ public class ScoreController extends BaseController {
|
|
|
source,
|
|
|
caughtNodeDTOs,applyUploadRecord.getOssUrl());
|
|
|
return new ResponseVO(ServerCode.SUCCESS);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = UrlConstants.API_COMMON +
|
|
|
- "generalUploadCaughtNode", method = RequestMethod.PUT)
|
|
|
- public ResponseVO generalCatchNode(@RequestBody UploadCaughtNodeJson uploadCaughtNodeJson)
|
|
|
- throws Exception {
|
|
|
+ "generalUploadTypeScore/{caseId}/{uploadTime}/{uploadId}/{source}", method =
|
|
|
+ RequestMethod.PUT)
|
|
|
+ public ResponseVO uploadTypeScore(
|
|
|
+ @PathVariable("caseId")long caseId,
|
|
|
+ @PathVariable("uploadTime")String uploadTime,
|
|
|
+ @PathVariable("uploadId")long uploadId,
|
|
|
+ @PathVariable("source")String source,
|
|
|
+ @RequestBody List<TypeScoreJson> typeScoreJsonList
|
|
|
+ ){
|
|
|
+ ResponseVO<ApplyUploadRecord> responseVO = validateSubmit(uploadId);
|
|
|
+ if(responseVO.getCode() != ServerCode.SUCCESS.getCode()){
|
|
|
+ return responseVO;
|
|
|
+ }
|
|
|
+ ApplyUploadRecord applyUploadRecord = responseVO.getData();
|
|
|
+ calculateSocreLogic.recordTypeScoreDirectly(
|
|
|
+ applyUploadRecord.getExamId(),
|
|
|
+ caseId,
|
|
|
+ applyUploadRecord.getWorkerId(),
|
|
|
+ uploadTime,
|
|
|
+ applyUploadRecord.getOssUrl(),
|
|
|
+ source,
|
|
|
+ typeScoreJsonList);
|
|
|
|
|
|
- return generalCatchNode(
|
|
|
- uploadCaughtNodeJson.getCaseId(),
|
|
|
- uploadCaughtNodeJson.getUploadTime(),
|
|
|
- uploadCaughtNodeJson.getUploadId(),
|
|
|
- uploadCaughtNodeJson.getSource(),
|
|
|
- uploadCaughtNodeJson.getCaughtNodeDTOs()
|
|
|
- );
|
|
|
+ return new ResponseVO(ServerCode.SUCCESS);
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 在上传分数前做申请判断和超时判断
|
|
|
+ * @param uploadId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private ResponseVO<ApplyUploadRecord> validateSubmit(long uploadId){
|
|
|
+ ApplyUploadRecord applyUploadRecord = generalCalculateScoreLogic
|
|
|
+ .getApplyUploadRecord(uploadId);
|
|
|
+ if(applyUploadRecord == null){
|
|
|
+ return new ResponseVO<>(ServerCode.NO_APPLY_FOUND);
|
|
|
+ }
|
|
|
+
|
|
|
+ ExamVO exam = examLogic.getExamById(applyUploadRecord.getExamId());
|
|
|
+ long endTime = exam.getEndTime();
|
|
|
+ long applyTime = Long.parseLong(applyUploadRecord.getApplyTime());
|
|
|
+ if(applyTime > endTime){
|
|
|
+ return new ResponseVO<>(ServerCode.EXAM_ENDED);
|
|
|
+ }
|
|
|
+ return new ResponseVO<>(ServerCode.SUCCESS, applyUploadRecord);
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = UrlConstants.API_COMMON +
|