文章目录
- 在线考试系统
- 一、项目演示
- 二、项目介绍
- 三、万字项目文档
- 四、部分功能截图
- 五、部分代码展示
- 六、底部获取项目源码带万字文档(9.9¥带走)
在线考试系统
一、项目演示
在线考试系统
二、项目介绍
1、管理员角色:
考试管理:考试查询、添加考试
题库管理:所有题库,添加题库、题库组卷
成绩查询:学生成绩查询,成绩分段查询
学生管理:学生查询,添加学生
教学管理:教师查询,添加教师
2、学生角色:
考试中心:搜索试卷,开始考试
试卷练习:模拟考试
我的分数:考试分数展示
交流区:留言,评论
3、教师角色:
考试管理:考试查询、添加考试
题库管理:所有题库,添加题库
成绩查询:学生成绩查询,成绩分段查询
三、万字项目文档
四、部分功能截图
五、部分代码展示
package com.rabbiter.oes.controller;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rabbiter.oes.entity.ApiResult;
import com.rabbiter.oes.entity.ExamManage;
import com.rabbiter.oes.serviceimpl.ExamManageServiceImpl;
import com.rabbiter.oes.util.ApiResultHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;@RestController
public class ExamManageController {@Autowiredprivate ExamManageServiceImpl examManageService;@GetMapping("/exams")public ApiResult findAll(){System.out.println("不分页查询所有试卷");ApiResult apiResult;apiResult = ApiResultHandler.buildApiResult(200, "请求成功!", examManageService.findAll());return apiResult;}@GetMapping("/exams/{page}/{size}")public ApiResult findAll(@PathVariable("page") Integer page, @PathVariable("size") Integer size){System.out.println("分页查询所有试卷");ApiResult apiResult;Page<ExamManage> examManage = new Page<>(page,size);IPage<ExamManage> all = examManageService.findAll(examManage);apiResult = ApiResultHandler.buildApiResult(200, "请求成功!", all);return apiResult;}@GetMapping("/exam/{examCode}")public ApiResult findById(@PathVariable("examCode") Integer examCode){System.out.println("根据ID查找");ExamManage res = examManageService.findById(examCode);if(res == null) {return ApiResultHandler.buildApiResult(10000,"考试编号不存在",null);}return ApiResultHandler.buildApiResult(200,"请求成功!",res);}@DeleteMapping("/exam/{examCode}")public ApiResult deleteById(@PathVariable("examCode") Integer examCode){int res = examManageService.delete(examCode);return ApiResultHandler.buildApiResult(200,"删除成功",res);}@PutMapping("/exam")public ApiResult update(@RequestBody ExamManage exammanage){int res = examManageService.update(exammanage);
// if (res == 0) {
// return ApiResultHandler.buildApiResult(20000,"请求参数错误");
// }System.out.print("更新操作执行---");return ApiResultHandler.buildApiResult(200,"更新成功",res);}@PostMapping("/exam")public ApiResult add(@RequestBody ExamManage exammanage){int res = examManageService.add(exammanage);if (res ==1) {return ApiResultHandler.buildApiResult(200, "添加成功", res);} else {return ApiResultHandler.buildApiResult(400,"添加失败",res);}}@GetMapping("/examManagePaperId")public ApiResult findOnlyPaperId() {ExamManage res = examManageService.findOnlyPaperId();if (res != null) {return ApiResultHandler.buildApiResult(200,"请求成功",res);}return ApiResultHandler.buildApiResult(400,"请求失败",res);}
}
package com.rabbiter.oes.serviceimpl;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rabbiter.oes.entity.ExamManage;
import com.rabbiter.oes.mapper.ExamManageMapper;
import com.rabbiter.oes.service.ExamManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;
import java.util.Random;@Service
public class ExamManageServiceImpl implements ExamManageService {@Autowiredprivate ExamManageMapper examManageMapper;@Autowiredprivate PaperServiceImpl paperService;private void setMaxScore(List<ExamManage> examManageList) {for (ExamManage examManage : examManageList) {examManage.setTotalScore(paperService.getMaxScore(examManage.getPaperId()));}}@Overridepublic List<ExamManage> findAll() {Page<ExamManage> examManage = new Page<>(0,9999);List<ExamManage> examManageList = examManageMapper.findAll(examManage).getRecords();setMaxScore(examManageList);return examManageList;}@Overridepublic IPage<ExamManage> findAll(Page<ExamManage> page) {IPage<ExamManage> iPage = examManageMapper.findAll(page);setMaxScore(iPage.getRecords());return iPage;}@Overridepublic ExamManage findById(Integer examCode) {ExamManage examManage = examManageMapper.findById(examCode);examManage.setTotalScore(paperService.getMaxScore(examManage.getPaperId()));return examManage;}@Overridepublic int delete(Integer examCode) {// 移除题目关联ExamManage examManage = examManageMapper.findById(examCode);if(examManage == null) {return 0;}paperService.deleteByPaperId(examManage.getPaperId());return examManageMapper.delete(examCode);}@Overridepublic int update(ExamManage exammanage) {return examManageMapper.update(exammanage);}@Overridepublic int add(ExamManage exammanage) {return examManageMapper.add(exammanage);}@Overridepublic ExamManage findOnlyPaperId() {return examManageMapper.findOnlyPaperId();}
}
package com.rabbiter.oes.vo;public class AnswerVO {private Long questionId;private String question;private String subject;private String score;private String section;private String level;private String type;public Long getQuestionId() {return questionId;}public void setQuestionId(Long questionId) {this.questionId = questionId;}public String getQuestion() {return question;}public void setQuestion(String question) {this.question = question;}public String getSubject() {return subject;}public void setSubject(String subject) {this.subject = subject;}public String getScore() {return score;}public void setScore(String score) {this.score = score;}public String getSection() {return section;}public void setSection(String section) {this.section = section;}public String getLevel() {return level;}public void setLevel(String level) {this.level = level;}public String getType() {return type;}public void setType(String type) {this.type = type;}@Overridepublic String toString() {return "AnswerVO{" +"question='" + question + '\'' +", subject='" + subject + '\'' +", score='" + score + '\'' +", section='" + section + '\'' +", level='" + level + '\'' +", type='" + type + '\'' +'}';}
}
六、底部获取项目源码带万字文档(9.9¥带走)
有问题,或者需要协助调试运行项目的也可以