【修改】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.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
@@ -105,7 +104,7 @@ public class ExamQuestion {
/** 试题文件 */
// @Excel(name = "试题文件")
@TableField(exist = false)
private List<SysFileUpload> fileUploads;
private List<ExamQuestionFile> fileUploads;
/** 试题判分 */
// @Excel(name = "试题判分")
@@ -312,11 +311,11 @@ public class ExamQuestion {
this.answerList = answerList;
}
public List<SysFileUpload> getFileUploads() {
public List<ExamQuestionFile> getFileUploads() {
return fileUploads;
}
public void setFileUploads(List<SysFileUpload> fileUploads) {
public void setFileUploads(List<ExamQuestionFile> 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.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 文件(hyc)对象 sys_file
* 文件(hyc)对象 exam_question_file
*
* @author pengchen
* @date 2025-03-18
*/
@TableName(value = "sys_file", autoResultMap = true)
@TableName(value = "exam_question_file", autoResultMap = true)
@Data
@Accessors(chain = true)
public class SysFileUpload {
public class ExamQuestionFile {
private static final long serialVersionUID = 1L;
/**

View File

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

View File

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

View File

@@ -40,7 +40,7 @@
<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>

View File

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