我们实现了学生错题功能,方便查看错题以及答案。

部分代码如下

import com.mwt.oes.domain.Paper;
import com.mwt.oes.domain.ProgramingLanguage;
import com.mwt.oes.domain.StudentPaperAnswer;
import com.mwt.oes.service.StudentHomeService;
import com.mwt.oes.service.StudentWrongService;
import com.mwt.oes.util.ServerResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@CrossOrigin
@RestController
@RequestMapping("/api/student")
public class StudentWrongController {/*学生错题查看页面,包含分类滑动点击显示错题列表,查看错题详情*/@Autowiredprivate StudentHomeService studentHomeService;@Autowiredprivate StudentWrongService studentWrongService;//Log4j日志处理public static Logger log = LoggerFactory.getLogger(StudentSystemController.class);/*获取错题页面触摸滑动全部编程语言信息*/@RequestMapping("/getWrongLanguagesInfo")public ServerResponse getSearchPapers(){List<ProgramingLanguage> programingLanguageList = studentHomeService.getLanguagesInfo();List<Map<String, Object>> resultList = new ArrayList<>();Map<String, Object> mapAll = new HashMap<>();mapAll.put("langId",0);mapAll.put("langName","全部");resultList.add(mapAll);for (ProgramingLanguage programingLanguage : programingLanguageList){Map<String, Object> map = new HashMap<>();map.put("langId",programingLanguage.getLangId());map.put("langName",programingLanguage.getLangName());resultList.add(map);}if(programingLanguageList != null && programingLanguageList.size() > 0){return ServerResponse.createBySuccess("获取错题页面全部编程语言信息成功",resultList);}else {return ServerResponse.createByError("获取错题页面全部编程语言信息失败");}}/*获取错题页面全部错题试卷*/@RequestMapping("/getWrongAllPapers")public ServerResponse getWrongAllPapers(@RequestParam("sno")String sno){List<Map<String, Object>> resultList = studentWrongService.getWrongAllPapers(sno);return ServerResponse.createBySuccess("获取错题页面全部错题试卷成功",resultList);}/*获取错题页面全部错题试卷*/@RequestMapping("/getWrongPapersByLangId")public ServerResponse getWrongPapersByLangId(@RequestParam("sno")String sno,@RequestParam("langId")Integer langId){List<Map<String, Object>> resultList = studentWrongService.getWrongPapersByLangId(sno, langId);return ServerResponse.createBySuccess("获取错题页面指定语言错题试卷成功",resultList);}/*通过sno和paperId获取错题试卷及单选题、多选题、判断题和填空题信息*/@RequestMapping("/getPapersInfoByWrongPaperId")public ServerResponse getPapersInfoByWrongPaperId(@RequestParam("sno")String sno,@RequestParam("paperId")Integer paperId ){Paper paper = studentHomeService.getPapersInfoByPaperId(paperId);Map<String, Integer> numObj = studentHomeService.getPaperQueNumByPaperId(paperId);List<Map<String, Object>> singleQueList = studentWrongService.getSingleQueListByWrongPaperId(sno, paperId);List<Map<String, Object>> multipleQueList = studentWrongService.getMultipleQueListByWrongPaperId(sno, paperId);List<Map<String, Object>> judgeQueList = studentWrongService.getJudgeQueListByWrongPaperId(sno, paperId);List<Map<String, Object>> fillQueList = studentWrongService.getFillQueListByWrongPaperId(sno, paperId);if(paper != null && numObj != null){Map<String, Object> map = new HashMap<>();map.put("paperInfo",paper);map.put("queNumInfo",numObj);map.put("singleQueList",singleQueList);map.put("multipleQueList",multipleQueList);map.put("judgeQueList",judgeQueList);map.put("fillQueList",fillQueList);return ServerResponse.createBySuccess("错题试卷id为" + paperId + "的试卷信息获取成功",map);}else {return ServerResponse.createByError("错题试卷id为" + paperId + "的试卷信息获取失败");}}/*请求根据answerId更新学生试卷答案表isCollect字段*/@RequestMapping(value = "/updatePaperAnswerIsCollect", method = RequestMethod.POST)public ServerResponse updatePaperAnswerIsCollect(@RequestBody Map<String, Object> map){StudentPaperAnswer studentPaperAnswer = new StudentPaperAnswer();studentPaperAnswer.setAnswerId((Integer) map.get("answerId"));studentPaperAnswer.setIscollect((String) map.get("isCollect"));int result = studentWrongService.updatePaperAnswerIsCollect(studentPaperAnswer);if(result != 0){return ServerResponse.createBySuccess("更新成功",null);}else {return ServerResponse.createByError("更新失败");}}/*获取全部收藏题目*/@RequestMapping("/getAllCollections")public ServerResponse getAllCollections(@RequestParam("sno")String sno){List<Map<String, Object>> resultList = studentWrongService.getAllCollections(sno);return ServerResponse.createBySuccess("获取全部收藏题目成功",resultList);}/*通过题目类型id获取收藏题目*/@RequestMapping("/getCollectionsById")public ServerResponse getCollectionsById(@RequestParam("sno")String sno,@RequestParam("queType")Integer queType){List<Map<String, Object>> resultList = studentWrongService.getCollectionsById(sno, queType);return ServerResponse.createBySuccess("通过题目类型id获取收藏题目成功",resultList);}/*通过answerId获取收藏单选题信息*/@RequestMapping("/getSingleByAnswerId")public ServerResponse getSingleByAnswerId(@RequestParam("answerId")Integer answerId){Map<String, Object> map = studentWrongService.getSingleByAnswerId(answerId);if(map != null){return ServerResponse.createBySuccess("通过answerId获取收藏单选题信息成功",map);}else {return ServerResponse.createByError("通过answerId获取收藏单选题信息失败");}}/*通过answerId获取收藏多选题信息*/@RequestMapping("/getMultipleByAnswerId")public ServerResponse getMultipleByAnswerId(@RequestParam("answerId")Integer answerId){Map<String, Object> map = studentWrongService.getMultipleByAnswerId(answerId);if(map != null){return ServerResponse.createBySuccess("通过answerId获取收藏多选题信息成功",map);}else {return ServerResponse.createByError("通过answerId获取收藏多选题信息失败");}}/*通过answerId获取收藏判断题信息*/@RequestMapping("/getJudgeByAnswerId")public ServerResponse getJudgeByAnswerId(@RequestParam("answerId")Integer answerId){Map<String, Object> map = studentWrongService.getJudgeByAnswerId(answerId);if(map != null){return ServerResponse.createBySuccess("通过answerId获取收藏判断题信息成功",map);}else {return ServerResponse.createByError("通过answerId获取收藏判断题信息失败");}}/*通过answerId获取收藏填空题信息*/@RequestMapping("/getFillByAnswerId")public ServerResponse getFillByAnswerId(@RequestParam("answerId")Integer answerId){Map<String, Object> map = studentWrongService.getFillByAnswerId(answerId);if(map != null){return ServerResponse.createBySuccess("通过answerId获取收藏填空题信息成功",map);}else {return ServerResponse.createByError("通过answerId获取收藏填空题信息失败");}}
}

山东大学软件学院项目实训第四周相关推荐

  1. 山东大学软件学院项目实训-创新实训-SDUMeeting(一)

    山东大学软件学院项目实训-创新实训-SDUMeeting(一) 一.前言: 这个项目是山东大学视频会议项目,这个项目基于webrtc构建多人视频会议系统,我负责视频会议客户端及服务端安全防护,这个专栏 ...

  2. 山东大学软件学院项目实训-创新实训-SDUMeeting(三)

    山东大学软件学院项目实训-创新实训-SDUMeeting(三) 山大会议项目web安全之文件注入防护 一.前言 山大会议的客户端加入了对用户自定义头像的支持,需要用户自行上传头像图片,这个过程存在文件 ...

  3. 山东大学软件学院项目实训-创新实训-SDUMeeting(六)

    山东大学软件学院项目实训-创新实训-SDUMeeting(六) 端对端加密与密钥交换 端到端加密(end-to-end),是一种只有参与通讯的用户可以读取信息的通信系统.它可以防止潜在的窃听者--包括 ...

  4. 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(一)

    目录 前言 一.项目介绍 二.项目框架 三.个人分工 四.本周任务完成情况 4.1  Vue安装 4.1.1 node.js安装及配置 4.1.2 安装vue及脚手架 4.1.3 运行Vue项目 4. ...

  5. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二)-docker安装与学习

    目录 前言: 一.docker安装 1.centos7使用yum安装 二.命令行创建 docker 容器测试 前言: 项目实训立项通过后的几天均在学习 docker 的相关知识,上一篇文章也简单记述了 ...

  6. 2021年山东大学软件学院项目实训记录(第一周)

    这次项目实训中,我们小组选择的题目是在线考试系统,经过讨论分工,我负责考试管理部分中的前端开发部分. 首先进行环境配置. 前端开发最为便利的开发工具为VScode,我们选择的开发框架是Vue. VSc ...

  7. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(六)-SQL注入数字型

    目录 前言: 一.SQL 注入漏洞简介 1.简介 2.危害 3.利用 4.防范 二.相关配置 三.编写"SQL 注入漏洞-数字型注入"后端代码 1.使用 springboot 框架 ...

  8. 山东大学软件学院项目实训——超市/供应商直销平台

    了解项目: 项目介绍: 一.项目名称:直销超市/供应商网络平台 直销超市/供应商网络平台是一个企业对企业(B2B)模式的在线交易平台.考虑到了买卖双方各种需求,有着广泛的实用性,能简单,清晰,快捷的满 ...

  9. 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(五)

    目录 一.header 二.footer 三.数据库的设计 3.1 表的设计 3.2 E-R图 一.header header是页面的导航条,作为一个组件在每个页面中都有引用. 其外观如下图所示:   ...

最新文章

  1. 任我行二 - 高德地图篇1 - 显示地图
  2. Android之滑动事件冲突解决 Touch事件处理机制总结
  3. 一次线上ctf的网络协议分析
  4. linux 多级目录查找,Linux如何在多级目录中查找某个文件
  5. c语言字母金字塔代码,打印字母金字塔,昨晚看到某个帖子的题目
  6. mysql 授权 函数查询_第6篇 MySQL 查询中的数学函数
  7. sqlplus使用教程
  8. arping指令linux,arping命令详解
  9. 成功解决3dmax三维建模过程中,视口中不显示贴图但渲染时显示
  10. 如何压缩PPT的容量?
  11. 提高Interface Builder高效工作的8个技巧
  12. DRM 驱动程序开发(VKMS)
  13. 成年人英语速成指南(附资源及工具)
  14. MT9V034摄像头学习笔记(三)
  15. python改变列的数据类型_更改Pandas中列的数据类型
  16. Geoffrey Hinton:从神经网络黑暗时代的坚守到今天的胜利
  17. Educoder Python 计算思维训练——文件操作与异常处理
  18. linux_exec函数族-execl函数-execlp函数-execle函数-execv函数-execvp函数-execve函数
  19. 魔法少女小圆计算机音乐,魔法少女小圆 无损音乐合集
  20. order finding before shor's algorithm

热门文章

  1. 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)
  2. 【3dsmax新手入门】-实体立方八面晶体绘制
  3. 《财富》封面文章:重新审视世界500强,它们又卷土重来了
  4. OpenCV小案例(2)——判断一张图片中多少种颜色
  5. 关于fancybox打开动态加载的图片
  6. python的pyaudio教程入门_[宜配屋]听图阁
  7. NETALLY LRAT-2000/LRAT-1000/LRAT-2000-KIT有线链路通测试仪2020重磅登场
  8. CVE-2020-15999:Chrome Freetype字体库堆溢出漏洞通告
  9. 服务器操作系统tco的英文全称,云服务器ECS的英文全称
  10. 夜空中最靓的二狗子是如何让 HTTPS 快上加快的?