【修改】1、试题文件由sys_file更改成exam_question_file 2、C语言程序设计修正代码段内读取得问题,更新 连续输入得问题。

This commit is contained in:
dlaren
2025-08-04 15:12:39 +08:00
parent a0696cc20a
commit f7a904e8b8
7 changed files with 22 additions and 21 deletions

View File

@@ -3,7 +3,6 @@ package com.example.exam.exam.dal;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
@@ -105,7 +104,7 @@ public class ExamQuestion {
/** 试题文件 */ /** 试题文件 */
// @Excel(name = "试题文件") // @Excel(name = "试题文件")
@TableField(exist = false) @TableField(exist = false)
private List<SysFileUpload> fileUploads; private List<ExamQuestionFile> fileUploads;
/** 试题判分 */ /** 试题判分 */
// @Excel(name = "试题判分") // @Excel(name = "试题判分")
@@ -312,11 +311,11 @@ public class ExamQuestion {
this.answerList = answerList; this.answerList = answerList;
} }
public List<SysFileUpload> getFileUploads() { public List<ExamQuestionFile> getFileUploads() {
return fileUploads; return fileUploads;
} }
public void setFileUploads(List<SysFileUpload> fileUploads) { public void setFileUploads(List<ExamQuestionFile> fileUploads) {
this.fileUploads = fileUploads; this.fileUploads = fileUploads;
} }

View File

@@ -4,19 +4,18 @@ package com.example.exam.exam.dal;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* 文件(hyc)对象 sys_file * 文件(hyc)对象 exam_question_file
* *
* @author pengchen * @author pengchen
* @date 2025-03-18 * @date 2025-03-18
*/ */
@TableName(value = "sys_file", autoResultMap = true) @TableName(value = "exam_question_file", autoResultMap = true)
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class SysFileUpload { public class ExamQuestionFile {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

View File

@@ -1,6 +1,6 @@
package com.example.exam.exam.mapper; package com.example.exam.exam.mapper;
import com.example.exam.exam.dal.SysFileUpload; import com.example.exam.exam.dal.ExamQuestionFile;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@@ -13,8 +13,8 @@ import java.util.List;
* @date 2025-03-18 * @date 2025-03-18
*/ */
@Mapper @Mapper
public interface SysFileMapper public interface ExamQuestionFileMapper
{ {
public List<SysFileUpload> selectSysFileByQuid(String quId); public List<ExamQuestionFile> selectSysFileByQuid(String quId);
} }

View File

@@ -87,13 +87,16 @@ public class JudgementServiceImpl implements JudgementService
int weight = 0; int weight = 0;
List<Map<String, Object>> key_list = new ArrayList<>(); List<Map<String, Object>> key_list = new ArrayList<>();
// 只获取 /\\*+Program\\*+/(.*?)/\\*+ End \\*+/ 下的代码进行判断 // 只获取 /\*+\s*[Pp][Rr][Oo][Gg][Rr][Aa][Mm]\s*\*+/(.*?)/\*+\s*[Ee][Nn][Dd]\s*\*+/ 下的代码进行判断
String pattern = "/\\*+Program\\*+/(.*?)/\\*+ End \\*+/"; String pattern = "/\\*+\\s*[Pp][Rr][Oo][Gg][Rr][Aa][Mm]\\s*\\*+/(.*?)/\\*+\\s*[Ee][Nn][Dd]\\s*\\*+/";
Pattern r = Pattern.compile(pattern, Pattern.DOTALL); Pattern r = Pattern.compile(pattern, Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher m = r.matcher(code); Matcher m = r.matcher(code);
String result; String result;
if (m.find()) { if (m.find()) {
result = m.group(1).trim(); // 提取代码段 result = m.group(1).trim(); // 提取代码段
if (result.isEmpty()) {
result = " "; // 如果匹配到但内容为空,返回原代码
}
} else { } else {
result = code; // 如果没有匹配到标识符,返回全部代码 result = code; // 如果没有匹配到标识符,返回全部代码
} }

View File

@@ -23,7 +23,7 @@ public class ExamQuestionServiceImpl implements IExamQuestionService
@Autowired @Autowired
private ExamQuestionAnswerMapper examQuestionAnswerMapper; private ExamQuestionAnswerMapper examQuestionAnswerMapper;
@Autowired @Autowired
private SysFileMapper sysFileMapper; private ExamQuestionFileMapper sysFileMapper;
@Autowired @Autowired
private ExamQuestionScoreMapper examQuestionScoreMapper; private ExamQuestionScoreMapper examQuestionScoreMapper;
@Autowired @Autowired
@@ -41,7 +41,7 @@ public class ExamQuestionServiceImpl implements IExamQuestionService
//查找试题答案 //查找试题答案
List<ExamQuestionAnswer> examQuestionAnswers = examQuestionAnswerMapper.selectExamQuestionAnswerByQuId(quId); List<ExamQuestionAnswer> examQuestionAnswers = examQuestionAnswerMapper.selectExamQuestionAnswerByQuId(quId);
//查找试题文件 //查找试题文件
List<SysFileUpload> sysFileUploads =sysFileMapper.selectSysFileByQuid(quId); List<ExamQuestionFile> sysFileUploads =sysFileMapper.selectSysFileByQuid(quId);
//查找试题判分 //查找试题判分
ExamQuestionScore examQuestionScore =examQuestionScoreMapper.selectExamQuestionScoreByQuId(quId); ExamQuestionScore examQuestionScore =examQuestionScoreMapper.selectExamQuestionScoreByQuId(quId);
//获取试题关键字 //获取试题关键字
@@ -80,7 +80,7 @@ public class ExamQuestionServiceImpl implements IExamQuestionService
//查找试题答案 //查找试题答案
List<ExamQuestionAnswer> examQuestionAnswers = examQuestionAnswerMapper.selectExamQuestionAnswerByQuId(quId); List<ExamQuestionAnswer> examQuestionAnswers = examQuestionAnswerMapper.selectExamQuestionAnswerByQuId(quId);
//查找试题文件 //查找试题文件
List<SysFileUpload> sysFileUploads =sysFileMapper.selectSysFileByQuid(quId); List<ExamQuestionFile> sysFileUploads =sysFileMapper.selectSysFileByQuid(quId);
//查找试题判分 //查找试题判分
ExamQuestionScore examQuestionScore =examQuestionScoreMapper.selectExamQuestionScoreByQuId(quId); ExamQuestionScore examQuestionScore =examQuestionScoreMapper.selectExamQuestionScoreByQuId(quId);
//获取试题关键字 //获取试题关键字

View File

@@ -40,7 +40,7 @@
<select id="selectAnswerFile" resultType="java.lang.String"> <select id="selectAnswerFile" resultType="java.lang.String">
select url from sys_file where qu_id =#{quId} and file_type ='2' select url from exam_question_file where qu_id =#{quId} and file_type ='2'
</select> </select>

View File

@@ -2,8 +2,8 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.exam.exam.mapper.SysFileMapper"> <mapper namespace="com.example.exam.exam.mapper.ExamQuestionFileMapper">
<resultMap type="SysFileUpload" id="SysFileResult"> <resultMap type="ExamQuestionFile" id="SysFileResult">
<result property="fileId" column="file_id" /> <result property="fileId" column="file_id" />
<result property="quId" column="qu_id" /> <result property="quId" column="qu_id" />
<result property="url" column="url" /> <result property="url" column="url" />
@@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectSysFileVo"> <sql id="selectSysFileVo">
select file_id, qu_id, url, file_type ,file_name from sys_file select file_id, qu_id, url, file_type ,file_name from exam_question_file
</sql> </sql>
<select id="selectSysFileByQuid" resultMap="SysFileResult"> <select id="selectSysFileByQuid" resultMap="SysFileResult">