Procházet zdrojové kódy

1. 处理单个输入的返回结果

menduo před 7 roky
rodič
revize
afc53ece49

+ 6 - 14
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/OnlineJudgeLogicImpl.java

@@ -77,7 +77,12 @@ public class OnlineJudgeLogicImpl implements OnlineJudgeLogic {
         } else if(OnlineJudgeMode.ONLYRUN.equals(onlineJudgeVO.getMode())) {
             List<String> list = Lists.newArrayList(codeOssUrl);
             onlineJudgeProcessLogic.triggerRunOnlineJudge(onlineJudgeVO, list);
-        } else {
+        } else if(OnlineJudgeMode.RUN_WITH_INPUT.equals(onlineJudgeVO.getMode())){
+            //上传数据到 {osspath}/{mode}/{userId}/{examId}/{caseId}/data_{submissionId}_{timestamp}.json
+            String dataOssUrl = uploadDataToOss(onlineJudgeVO);
+            List<String> list = Lists.newArrayList(codeOssUrl, dataOssUrl);
+            onlineJudgeProcessLogic.triggerRunOnlineJudge(onlineJudgeVO, list);
+        } else if(OnlineJudgeMode.RUN_WITH_MANY_INPUT.equals(onlineJudgeVO.getMode())){
             //上传数据到 {osspath}/{mode}/{userId}/{examId}/{caseId}/data_{submissionId}_{timestamp}.json
             String dataOssUrl = uploadDataToOss(onlineJudgeVO);
             List<String> list = Lists.newArrayList(codeOssUrl, dataOssUrl);
@@ -281,19 +286,6 @@ public class OnlineJudgeLogicImpl implements OnlineJudgeLogic {
         return result;
     }
 
-    public static void main(String[] args) {
-        OnlineJudgeLogicImpl onlineJudgeLogic = new OnlineJudgeLogicImpl();
-        List<OnlineJudgeIODataVO> list = Lists.newArrayList();
-        OnlineJudgeIODataVO data1 = new OnlineJudgeIODataVO();
-        data1.setInput("1 2");
-        //data1.setOutput("3");
-
-        OnlineJudgeIODataVO data2 = new OnlineJudgeIODataVO();
-        data2.setInput("3 4");
-        list.add(data1);
-        list.add(data2);
-        onlineJudgeLogic.wapperdata(list);
-    }
     private InputStream generalCodeFileInputStream(String code) {
         if(code==null) code = "";
         return new ByteArrayInputStream(code.getBytes());