【修改】 修改成绩明细中,试卷分析没有按照题目排序的问题

This commit is contained in:
DESKTOP-932OMT8\REN
2025-06-13 16:05:46 +08:00
parent a450424b18
commit 80e280ed5f
9 changed files with 341 additions and 26 deletions

View File

@@ -0,0 +1,46 @@
package pc.exam.pp.module.exam.dal.dataobject.student;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import pc.exam.pp.framework.tenant.core.db.TenantBaseDO;
/**
* 学生-试卷-判分详情表 DO
*
* @author rwb
*/
@TableName("exam_stu_paper_info")
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StuPaperInfoDO extends TenantBaseDO {
/**
* Id
*/
@TableId
private Long id;
/**
* 学生号
*/
private Long stuId;
/**
* 试卷ID
*/
private String paperId;
/**
* 判分详情,富文本格式
*/
private String content;
/**
* 试题排序
*/
private int sort;
private String quId;
}

View File

@@ -0,0 +1,23 @@
package pc.exam.pp.module.exam.dal.mysql.student;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import pc.exam.pp.framework.mybatis.core.mapper.BaseMapperX;
import pc.exam.pp.module.exam.dal.dataobject.student.StuPaperInfoDO;
import java.util.List;
/**
* 学生-试卷-判分详情 Mapper
*
* @author rwb
*/
@Mapper
public interface StuPaperInfoMapper extends BaseMapperX<StuPaperInfoDO> {
List<StuPaperInfoDO> findByStuIdAndPaperId(@Param("stuId") Long stuId, @Param("paperId") String paperId);
default StuPaperInfoDO findByStuIdAndPaperIdAndQuId(Long stuId, String paperId, String quId) {
return selectOne(StuPaperInfoDO::getStuId, stuId, StuPaperInfoDO::getPaperId, paperId, StuPaperInfoDO::getQuId, quId);
}
List<StuPaperInfoDO> findOneByStuIdAndPaperId(@Param("stuId")Long stuId, @Param("paperId")String paperId,@Param("type") int type);
}

View File

@@ -0,0 +1,22 @@
package pc.exam.pp.module.exam.service.stuPaperInfo;
import pc.exam.pp.module.exam.dal.dataobject.student.StuPaperFileDO;
import pc.exam.pp.module.exam.dal.dataobject.student.StuPaperInfoDO;
import java.util.List;
/**
* 学生-试卷-判分详情 Service 接口
*
* @author rwb
*/
public interface StuPaperInfoService {
List<StuPaperInfoDO> findByStuIDAndPaperId(Long stuID, String paperID);
StuPaperInfoDO findByStuIDAndPaperIdAndExamId(Long stuID, String paperID, String quId);
void insertStuPaperInfo(StuPaperInfoDO stuPaperInfoDO);
void updateStuPaperInfo(StuPaperInfoDO stuPaperInfoDO);
}

View File

@@ -0,0 +1,45 @@
package pc.exam.pp.module.exam.service.stuPaperInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import pc.exam.pp.module.exam.dal.dataobject.student.StuPaperFileDO;
import pc.exam.pp.module.exam.dal.dataobject.student.StuPaperInfoDO;
import pc.exam.pp.module.exam.dal.mysql.student.StuPaperFileMapper;
import pc.exam.pp.module.exam.dal.mysql.student.StuPaperInfoMapper;
import pc.exam.pp.module.exam.service.stu_paper_file.StuPaperFileService;
import java.util.List;
/**
* 学生-试卷-判分详情 Service 实现类
*
* @author rwb
*/
@Service
@Validated
public class StuPaperInfoServiceImpl implements StuPaperInfoService {
@Resource
private StuPaperInfoMapper stuPaperInfoMapper;
@Override
public List<StuPaperInfoDO> findByStuIDAndPaperId(Long stuID, String paperID) {
return stuPaperInfoMapper.findByStuIdAndPaperId(stuID, paperID);
}
@Override
public StuPaperInfoDO findByStuIDAndPaperIdAndExamId(Long stuID, String paperID, String quId) {
return stuPaperInfoMapper.findByStuIdAndPaperIdAndQuId(stuID, paperID, quId);
}
@Override
public void insertStuPaperInfo(StuPaperInfoDO stuPaperInfoDO) {
stuPaperInfoMapper.insert(stuPaperInfoDO);
}
@Override
public void updateStuPaperInfo(StuPaperInfoDO stuPaperInfoDO) {
stuPaperInfoMapper.updateById(stuPaperInfoDO);
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pc.exam.pp.module.exam.dal.mysql.student.StuPaperInfoMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="findByStuIdAndPaperId" resultType="pc.exam.pp.module.exam.dal.dataobject.student.StuPaperInfoDO">
SELECT * FROM exam_stu_paper_info WHERE stu_id = #{stuId} AND paper_id = #{paperId} ORDER BY sort ASC
</select>
<select id="findOneByStuIdAndPaperId"
resultType="pc.exam.pp.module.exam.dal.dataobject.student.StuPaperInfoDO">
SELECT * FROM exam_stu_paper_info WHERE stu_id = #{stuId} AND paper_id = #{paperId} and type =#{type}
</select>
</mapper>