山东大学软件学院项目实训第三周
我们小组实现考试管理,实现了学生端,老师端,管理员端的界面展示,对试卷的删除操作等。
以下是我们组后端部分的代码
package com.mwt.oes.controller;import com.mwt.oes.service.TeacherPaperService;
import com.mwt.oes.util.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.HashMap;
import java.util.List;
import java.util.Map;@CrossOrigin
@RestController
@RequestMapping("/api/teacher")
public class TeacherPaperController {@Autowiredprivate TeacherPaperService teacherPaperService;// 获取成绩列表信息@RequestMapping("/getTeacherPapersList")public ServerResponse getTeacherPapersList(){Map<String, Object> map = new HashMap<>();List<Map<String, Object>> papersList = teacherPaperService.getPapersList();map.put("papersList",papersList);List<Map<String, Object>> langOptions = teacherPaperService.getLangOptions();map.put("langOptions",langOptions);return ServerResponse.createBySuccess("获取全部试卷信息成功",map);}// 获取搜索试卷列表信息@RequestMapping("archPapersList")public ServerResponse searchPapersList(@RequestParam("paperName")String paperName,@RequestParam("langId")Integer langId,@RequestParam("paperType")Integer paperType){List<Map<String, Object>> resultList = teacherPaperService.searchPapersList(paperName, langId, paperType);return ServerResponse.createBySuccess("获取搜索试卷信息成功",resultList);}// 删除选中试卷信息@RequestMapping(value = "/deletePaper",method = RequestMethod.POST)public ServerResponse deletePaper(@RequestBody Map<String, Object> obj){Integer paperId = (Integer) obj.get("paperId");int selectResult = teacherPaperService.selectPaperScoreByPaperId(paperId);if(selectResult > 0) {return ServerResponse.createByError("该试卷已有学生参加考试,删除失败");} else {int deleteResult = teacherPaperService.deletePaper(paperId);if(deleteResult > 0){return ServerResponse.createBySuccess("删除成功",null);} else {return ServerResponse.createByError("数据库错误,删除失败");}}}// 获取选中试卷问题详情@RequestMapping("/getPaperQueDetailByPaperId")public ServerResponse getPaperQueDetailByPaperId(@RequestParam("paperId")Integer paperId,@RequestParam("totalNum")Integer totalNum){Map<String, Object> resultMap = teacherPaperService.getPaperQueDetailByPaperId(paperId, totalNum);return ServerResponse.createBySuccess("获取选中试卷问题详情成功",resultMap);}// 请求随机组卷,插入试卷数据,即发布试卷@RequestMapping(value = "/randomInsertPaperInfo",method = RequestMethod.POST)public ServerResponse randomInsertPaperInfo(@RequestBody Map<String, Object> obj){int langId = (int) obj.get("langId");if(langId > 1) {return ServerResponse.createByError("且慢,该科目题库不足,目前只有java科目题库比较充沛");} else {int result = teacherPaperService.randomInsertPaperInfo(obj);if (result >0) {return ServerResponse.createBySuccess("试卷发布成功",result);} else {return ServerResponse.createByError("数据库错误,试卷发布失败");}}}// 通过langId获取科目下的所有问题@RequestMapping("/getPaperQueDetailByLangId")public ServerResponse getPaperQueDetailByLangId(@RequestParam("langId")Integer langId){Map<String, Object> resultMap = teacherPaperService.getPaperQueDetailByLangId(langId);return ServerResponse.createBySuccess("获取选中科目下所有问题成功",resultMap);}// 请求固定组卷,插入试卷数据,即发布试卷@RequestMapping(value = "/fixedInsertPaperInfo",method = RequestMethod.POST)public ServerResponse fixedInsertPaperInfo(@RequestBody Map<String, Object> obj){int result = teacherPaperService.fixedInsertPaperInfo(obj);if (result >0) {return ServerResponse.createBySuccess("试卷发布成功",result);} else {return ServerResponse.createByError("数据库错误,试卷发布失败");}}
}
实现获取试卷信息,删除选中试卷,获取试卷中问题详情,请求随机试卷,插入试卷数据等功能。
山东大学软件学院项目实训第三周相关推荐
- 山东大学软件学院项目实训-创新实训-SDUMeeting(三)
山东大学软件学院项目实训-创新实训-SDUMeeting(三) 山大会议项目web安全之文件注入防护 一.前言 山大会议的客户端加入了对用户自定义头像的支持,需要用户自行上传头像图片,这个过程存在文件 ...
- 山东大学软件学院项目实训-创新实训-SDUMeeting(一)
山东大学软件学院项目实训-创新实训-SDUMeeting(一) 一.前言: 这个项目是山东大学视频会议项目,这个项目基于webrtc构建多人视频会议系统,我负责视频会议客户端及服务端安全防护,这个专栏 ...
- 山东大学软件学院项目实训-创新实训-SDUMeeting(六)
山东大学软件学院项目实训-创新实训-SDUMeeting(六) 端对端加密与密钥交换 端到端加密(end-to-end),是一种只有参与通讯的用户可以读取信息的通信系统.它可以防止潜在的窃听者--包括 ...
- 项目实训第三周第三次
项目实训第三周第三次记录 1.任务安排 2.任务分析 2.1显示待审核的申诉请求 2.2同意申诉请求 2.3拒绝申诉请求 3.具体代码 3.1AppealMapper 3.2AppealService ...
- 2021年山东大学软件学院项目实训记录(第一周)
这次项目实训中,我们小组选择的题目是在线考试系统,经过讨论分工,我负责考试管理部分中的前端开发部分. 首先进行环境配置. 前端开发最为便利的开发工具为VScode,我们选择的开发框架是Vue. VSc ...
- 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(一)
目录 前言 一.项目介绍 二.项目框架 三.个人分工 四.本周任务完成情况 4.1 Vue安装 4.1.1 node.js安装及配置 4.1.2 安装vue及脚手架 4.1.3 运行Vue项目 4. ...
- 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(六)-SQL注入数字型
目录 前言: 一.SQL 注入漏洞简介 1.简介 2.危害 3.利用 4.防范 二.相关配置 三.编写"SQL 注入漏洞-数字型注入"后端代码 1.使用 springboot 框架 ...
- 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二)-docker安装与学习
目录 前言: 一.docker安装 1.centos7使用yum安装 二.命令行创建 docker 容器测试 前言: 项目实训立项通过后的几天均在学习 docker 的相关知识,上一篇文章也简单记述了 ...
- 山东大学软件学院项目实训——超市/供应商直销平台
了解项目: 项目介绍: 一.项目名称:直销超市/供应商网络平台 直销超市/供应商网络平台是一个企业对企业(B2B)模式的在线交易平台.考虑到了买卖双方各种需求,有着广泛的实用性,能简单,清晰,快捷的满 ...
最新文章
- oracle列名无效字符,案例学习Oracle错误:ORA-00904 invalid column name
- Retrofit2.0和Rxjava结合使用的简单记录
- 配置 VIM 英语字典
- 【C++学习】String类的基本用法
- 启明云端分享|ESP32-C3阿里云连接测试
- Jmeter_初步认识随笔
- 结对开发——求最大值
- scala集合中添加元素_如何在Scala中将元素添加到列表中?
- vue —— UI组件库
- 4_python基础—判断(if)语句
- 一元线性回归(Linear Regression)
- 怎么向Xcode6 IOS8之后向项目中添加预编译文件
- 制作一个简单HTML中华传统文化网页(HTML+CSS)
- WIN10电脑自动关机命令
- java第一个helloworld_Java第一个程序--HelloWorld
- SSM框架---开发免费小说网站(h5+电脑端)
- 如何自学C语言(一个菜鸟的学习路)
- 课程设计思路-学习笔记
- 太原今年实施一批大数据重大项目
- 【集训队互测】ayq 三道题