|
|
@@ -9,6 +9,9 @@ import cn.seecoder.ojserver.manager.JudgeManager;
|
|
|
import cn.seecoder.ojserver.manager.QuestionManager;
|
|
|
import cn.seecoder.ojserver.model.vo.CodeJudgeVO;
|
|
|
import cn.seecoder.ojserver.service.JudgeService;
|
|
|
+import com.nju.edu.paasMonitorClient.MonitorClient;
|
|
|
+import com.nju.edu.paasMonitorClient.entity.Call;
|
|
|
+import com.nju.edu.paasMonitorCommon.enums.SeecSystem;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -28,10 +31,11 @@ public class JudgeServiceImpl implements JudgeService {
|
|
|
@Override
|
|
|
public JudgeResult judgeCode(Integer questionId, CodeJudgeVO codeJudgeVO) {
|
|
|
try {
|
|
|
+ Call call = MonitorClient.createCall(SeecSystem.CODER,"ojtest1","buildJudge");
|
|
|
+ call.start();
|
|
|
JudgeDTO judgeDTO = new JudgeDTO();
|
|
|
judgeDTO.setCode(codeJudgeVO.getCode());
|
|
|
judgeDTO.setLanguage(codeJudgeVO.getLanguage());
|
|
|
-
|
|
|
Problem problem = questionManager.getProblemById(questionId).get();
|
|
|
List<TestCase> testCaseList = questionManager.getTestCaseByProblemId(questionId);
|
|
|
judgeDTO.setMemoryLimit(problem.getMemoryLimit());
|
|
|
@@ -40,10 +44,10 @@ public class JudgeServiceImpl implements JudgeService {
|
|
|
List<String> outputList = testCaseList.stream().map(TestCase::getOutput).collect(Collectors.toList());
|
|
|
judgeDTO.setInputList(inputList);
|
|
|
judgeDTO.setOutputList(outputList);
|
|
|
+ call.end();
|
|
|
// judgeDTO.setInputList(question.getInputOutputMapping().entrySet().stream().map(Map.Entry<String, String>::getKey).collect(Collectors.toList()));
|
|
|
// judgeDTO.setOutputList(question.getInputOutputMapping().entrySet().stream().map(Map.Entry<String, String>::getValue).collect(Collectors.toList()));
|
|
|
|
|
|
-
|
|
|
return judgeManager.judgeCodeQuestionAnswers(judgeDTO);
|
|
|
} catch (ThirdPartyServiceException exception) {
|
|
|
throw exception;
|