Browse Source

添加question_id校验

westt 2 năm trước cách đây
mục cha
commit
5d6bc1f0d1

+ 1 - 1
src/main/java/com/example/onlinejudge/mapper/QuestionMapper.java → src/main/java/com/example/onlinejudge/mapper/QuestionSubmitMapper.java

@@ -5,5 +5,5 @@ import com.example.onlinejudge.model.entity.QuestionSubmit;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
-public interface QuestionMapper extends BaseMapper<QuestionSubmit> {
+public interface QuestionSubmitMapper extends BaseMapper<QuestionSubmit> {
 }

+ 21 - 7
src/main/java/com/example/onlinejudge/service/impl/QuestionServiceImpl.java

@@ -1,11 +1,13 @@
 package com.example.onlinejudge.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
-import com.example.onlinejudge.mapper.QuestionMapper;
+import com.example.onlinejudge.mapper.QuestionSubmitMapper;
 import com.example.onlinejudge.model.entity.QuestionSubmit;
 import com.example.onlinejudge.model.entity.result.Result;
+import com.example.onlinejudge.model.entity.result.ResultCode;
+import com.example.onlinejudge.model.enums.JudgeInfoMessageEnum;
+import com.example.onlinejudge.model.enums.QuestionSubmitLanguageEnum;
 import com.example.onlinejudge.service.QuestionService;
-import com.sun.xml.internal.bind.v2.TODO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -15,14 +17,26 @@ import java.util.Date;
 @Service
 public class QuestionServiceImpl implements QuestionService {
     @Autowired
-    private QuestionMapper questionMapper;
+    private QuestionSubmitMapper questionSubmitMapper;
+
     @Override
     public Result receiveCode(Long questionID, String code, String language) {
         Long userID = StpUtil.getLoginIdAsLong();
-        QuestionSubmit questionSubmit = new QuestionSubmit(null, language, code, null, 0, questionID, userID, new Date(), new Date(), 0);
-        questionMapper.insert(questionSubmit);
-       // TODO: 1.提交代码到判题系统 2.更改数据库刷新状态
-
+        if (questionID == null)
+            return  Result.error(ResultCode.PARAM_IS_INVALID);
+        String chooseLanguage;
+        if ("java".equals(language) || "Java".equals(language) || "JAVA".equals(language)) {
+            chooseLanguage = QuestionSubmitLanguageEnum.JAVA.getValue();
+        } else if ("c".equals(language) || "C".equals(language)) {
+            chooseLanguage = QuestionSubmitLanguageEnum.C.getValue();
+        } else if ("CPP".equals(language) || "Cpp".equals(language) || "cpp".equals(language) || "c++".equals(language) || "C++".equals(language)) {
+            chooseLanguage = QuestionSubmitLanguageEnum.CPP.getValue();
+        } else {
+            chooseLanguage = QuestionSubmitLanguageEnum.JAVA.getValue();
+        }
+        QuestionSubmit questionSubmit = new QuestionSubmit(null, chooseLanguage, code, JudgeInfoMessageEnum.WAITING.getValue(), 0, questionID, userID, new Date(), new Date(), 0);
+        questionSubmitMapper.insert(questionSubmit);
+        // TODO: 1.提交代码到判题系统 2.更改数据库刷新状态 3.返回判题信息
         return Result.success();
     }
 }

+ 1 - 0
src/main/resources/application.yml

@@ -13,6 +13,7 @@ spring:
       initial-size: 10
       max-active: 200
 
+
 #mybatis:
 #  mapper-locations: classpath:mapper/*.xml
 #  configuration: