package com.example.onlinejudge.service.impl; import cn.dev33.satoken.stp.StpUtil; 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @Service public class QuestionServiceImpl implements QuestionService { @Autowired private QuestionSubmitMapper questionSubmitMapper; @Override public Result receiveCode(Long questionID, String code, String language) { Long userID = StpUtil.getLoginIdAsLong(); 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); System.out.println(questionSubmit); // TODO: 1.提交代码到判题系统 2.更改数据库刷新状态 3.返回判题信息 return Result.success(); } }