From 31ff3f228015a2ac6063baeba36ba0af3f8935e6 Mon Sep 17 00:00:00 2001 From: Cys Date: Tue, 17 Dec 2024 14:44:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E5=90=8E=E7=AB=AF=E4=BF=AE?= =?UTF-8?q?=E6=94=B93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oe/controller/AdminController.java | 70 +++++++++++++++++++ .../oe/controller/AnswerController.java | 32 +++++++++ .../oe/controller/ExamManageController.java | 49 ++++++++++++- .../oe/controller/FillQuestionController.java | 30 +++++++- .../oe/controller/LoginController.java | 29 +++++++- .../oe/controller/ReplayController.java | 33 +++++++++ .../oe/controller/ScoreController.java | 39 ++++++++++- .../oe/controller/StudentController.java | 16 +++++ 8 files changed, 293 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/shanzhu/oe/controller/AdminController.java b/src/main/java/com/shanzhu/oe/controller/AdminController.java index 02e314f..706f7b7 100644 --- a/src/main/java/com/shanzhu/oe/controller/AdminController.java +++ b/src/main/java/com/shanzhu/oe/controller/AdminController.java @@ -17,4 +17,74 @@ import java.util.List; @RequiredArgsConstructor public class AdminController { + private final AdminService adminService; + + /** + * 查询所有管理员 + * + * @return 管理员列表 + */ + @GetMapping("/admins") + public R> findAll(){ + return ApiResultHandler.success(adminService.findAll()); + } + + /** + * 通过管理员id查询 + * + * @param adminId 管理员id + * @return 管理员 + */ + @GetMapping("/admin/{adminId}") + public R findById(@PathVariable("adminId") Integer adminId){ + return ApiResultHandler.success(adminService.findById(adminId)); + } + + /** + * 通过管理员id删除 + * + * @param adminId 管理员id + * @return 结果 + */ + @DeleteMapping("/admin/{adminId}") + public R deleteById(@PathVariable("adminId") Integer adminId){ + adminService.deleteById(adminId); + return ApiResultHandler.success(); + } + + /** + * 更新管理员 + * + * @param adminId 管理员id + * @param admin 管理员信息 + * @return 结果 + */ + @PutMapping("/admin/{adminId}") + public R update(@PathVariable("adminId") Integer adminId, Admin admin){ + return ApiResultHandler.success(adminService.update(admin)); + } + + /** + * 添加管理员 + * + * @param admin 管理员信息 + * @return 结果 + */ + @PostMapping("/admin") + public R add(Admin admin){ + return ApiResultHandler.success(adminService.add(admin)); + } + + /** + * 更新密码 + * + * @param adminId 管理员id + * @param newPsw 新密码 + * @param oldPsw 旧密码 + * @return 结果 + */ + @GetMapping("/admin/resetPsw/{adminId}/{oldPsw}/{newPsw}") + public R resetPsw(@PathVariable("adminId") Integer adminId, @PathVariable("newPsw") String newPsw, @PathVariable("oldPsw") String oldPsw) { + return ApiResultHandler.success(adminService.resetPsw(adminId, newPsw, oldPsw)); + } } diff --git a/src/main/java/com/shanzhu/oe/controller/AnswerController.java b/src/main/java/com/shanzhu/oe/controller/AnswerController.java index 2de2453..9b81184 100644 --- a/src/main/java/com/shanzhu/oe/controller/AnswerController.java +++ b/src/main/java/com/shanzhu/oe/controller/AnswerController.java @@ -18,9 +18,41 @@ import org.springframework.web.bind.annotation.RestController; * */ +@RestController +@RequiredArgsConstructor +public class AnswerController { + private final AnswerService answerService; + /** + * 查询题库 分页 + * + * @param page 分页页数 + * @param size 分页大小 + * @param subject 学科 + * @param section 章节 + * @param question 问题 + * @return 题目 + */ + @GetMapping("/answers/{page}/{size}/{subject}/{section}/{question}") + public R > findAllQuestion( + @PathVariable("page") Integer page, + @PathVariable("size") Integer size, + @PathVariable("subject") String subject, + @PathVariable("section") String section, + @PathVariable("question") String question + ){ + IPage answerVOIPage = answerService.findAll(new Page<>(page,size), subject, section, question); + return ApiResultHandler.buildApiResult(200,"查询所有题库", answerVOIPage); + } + /** + * 根据类型和id获取题目 + * + * @param type 类型 + * @param questionId 题目id + * @return 题目信息 + */ @GetMapping("/answers/{type}/{questionId}") public R findByIdAndType( @PathVariable("type") String type, diff --git a/src/main/java/com/shanzhu/oe/controller/ExamManageController.java b/src/main/java/com/shanzhu/oe/controller/ExamManageController.java index 87a104c..a8fcb59 100644 --- a/src/main/java/com/shanzhu/oe/controller/ExamManageController.java +++ b/src/main/java/com/shanzhu/oe/controller/ExamManageController.java @@ -13,7 +13,19 @@ import java.util.List; /** * 考试管理 控制层 + * + */ +@RestController +@RequiredArgsConstructor +public class ExamManageController { + private final ExamManageService examManageService; + + /** + * 查询所有考试 + * + * @return 考试列表 + */ @GetMapping("/exams") public R> findAll() { return ApiResultHandler.buildApiResult(200, "请求成功!", examManageService.findAll()); @@ -31,6 +43,20 @@ import java.util.List; return ApiResultHandler.buildApiResult(200, "请求成功!", examManageService.findAll(new Page<>(page, size))); } + /** + * 根据考试编号查询考试信息 + * + * @param examCode 考试编号 + * @return 考试信息 + */ + @GetMapping("/exam/{examCode}") + public R findById(@PathVariable("examCode") Integer examCode) { + ExamManage res = examManageService.findById(examCode); + if (res == null) { + return ApiResultHandler.buildApiResult(10000, "考试编号不存在", null); + } + return ApiResultHandler.buildApiResult(200, "请求成功!", res); + } /** * 根据考试编号删除 @@ -47,17 +73,38 @@ import java.util.List; * * @param examManage 考试信息 */ + @PutMapping("/exam") + public R update(@RequestBody ExamManage examManage) { + return ApiResultHandler.buildApiResult(200, "更新成功", examManageService.update(examManage)); + } /** * 添加考试信息 * * @param examManage 考试信息 */ - + @PostMapping("/exam") + public R add(@RequestBody ExamManage examManage) { + int res = examManageService.add(examManage); + if (res == 1) { + return ApiResultHandler.buildApiResult(200, "添加成功", res); + } else { + return ApiResultHandler.buildApiResult(400, "添加失败", res); + } + } /** * 查询最后一条记录的paperId,返回给前端达到自增效果 * * @return 最后一条记录 + */ + @GetMapping("/examManagePaperId") + public R findOnlyPaperId() { + ExamManage res = examManageService.findOnlyPaperId(); + if (res != null) { + return ApiResultHandler.buildApiResult(200, "请求成功", res); + } + return ApiResultHandler.buildApiResult(400, "请求失败", res); + } } diff --git a/src/main/java/com/shanzhu/oe/controller/FillQuestionController.java b/src/main/java/com/shanzhu/oe/controller/FillQuestionController.java index 807989c..2cae08a 100644 --- a/src/main/java/com/shanzhu/oe/controller/FillQuestionController.java +++ b/src/main/java/com/shanzhu/oe/controller/FillQuestionController.java @@ -20,12 +20,33 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor public class FillQuestionController { + private final FillQuestionService fillQuestionService; + + /** + * 添加填空题 + * + * @param fillQuestion 填空题内容 + * @return 结果 + */ + @PostMapping("/fillQuestion") + public R add(@RequestBody FillQuestion fillQuestion) { + int res = fillQuestionService.add(fillQuestion); + if (res != 0) { + return ApiResultHandler.buildApiResult(200, "添加成功", res); + } + return ApiResultHandler.buildApiResult(400, "添加失败", res); + } /** * 查询最后一条填空题 * * @return 最后一条填空题 */ + @GetMapping("/fillQuestionId") + public R findOnlyQuestionId() { + FillQuestion res = fillQuestionService.findOnlyQuestionId(); + return ApiResultHandler.buildApiResult(200, "查询成功", res); + } /** * 编辑填空题 @@ -33,5 +54,12 @@ public class FillQuestionController { * @param fillQuestion 填空题内容 * @return 结果 */ - + @PostMapping("/editFillQuestion") + public R edit(@RequestBody FillQuestion fillQuestion) { + int res = fillQuestionService.edit(fillQuestion); + if (res != 0) { + return ApiResultHandler.buildApiResult(200, "修改成功", res); + } + return ApiResultHandler.buildApiResult(400, "修改失败", res); + } } diff --git a/src/main/java/com/shanzhu/oe/controller/LoginController.java b/src/main/java/com/shanzhu/oe/controller/LoginController.java index e423d01..13a1554 100644 --- a/src/main/java/com/shanzhu/oe/controller/LoginController.java +++ b/src/main/java/com/shanzhu/oe/controller/LoginController.java @@ -34,10 +34,37 @@ public class LoginController { * @param response http response * @return 登录用户信息 */ + @PostMapping("/login") + public R login(@RequestBody Login login, HttpServletResponse response) { + Integer username = login.getUsername(); + String password = login.getPassword(); + //登录管理员 + Admin adminRes = loginService.adminLogin(username, password); + if (adminRes != null) { + Cookie token = new Cookie("rb_token", adminRes.getCardId()); + token.setPath("/"); + Cookie role = new Cookie("rb_role", "0"); + role.setPath("/"); - //登录教师 + //将cookie对象加入response响应 + response.addCookie(token); + response.addCookie(role); + + return ApiResultHandler.buildApiResult(200, "请求成功", adminRes); + } + //登录教师 + Teacher teacherRes = loginService.teacherLogin(username, password); + if (teacherRes != null) { + Cookie token = new Cookie("rb_token", teacherRes.getCardId()); + token.setPath("/"); + Cookie role = new Cookie("rb_role", "1"); + role.setPath("/"); + response.addCookie(token); + response.addCookie(role); + return ApiResultHandler.buildApiResult(200, "请求成功", teacherRes); + } //登录选 Student studentRes = loginService.studentLogin(username, password); diff --git a/src/main/java/com/shanzhu/oe/controller/ReplayController.java b/src/main/java/com/shanzhu/oe/controller/ReplayController.java index 9f123c0..f8b0251 100644 --- a/src/main/java/com/shanzhu/oe/controller/ReplayController.java +++ b/src/main/java/com/shanzhu/oe/controller/ReplayController.java @@ -15,3 +15,36 @@ import java.util.List; * @author: ShanZhu * @date: 2023-11-20 */ +@RestController +@RequiredArgsConstructor +public class ReplayController { + + private final ReplayService replayService; + + /** + * 添加回复 + * + * @param replay 回复内容 + * @return 结果 + */ + @PostMapping("/replay") + public R add(@RequestBody Replay replay) { + int data = replayService.add(replay); + if (data != 0) { + return ApiResultHandler.buildApiResult(200, "添加成功!", data); + } else { + return ApiResultHandler.buildApiResult(400, "添加失败!", null); + } + } + + /** + * 通过留言id查询回复 + * + * @param messageId 留言id + * @return 回复 + */ + @GetMapping("/replay/{messageId}") + public R> findAllById(@PathVariable("messageId") Integer messageId) { + return ApiResultHandler.buildApiResult(200, "根据messageId查询", replayService.findAllById(messageId)); + } +} diff --git a/src/main/java/com/shanzhu/oe/controller/ScoreController.java b/src/main/java/com/shanzhu/oe/controller/ScoreController.java index 1f56d00..e66281b 100644 --- a/src/main/java/com/shanzhu/oe/controller/ScoreController.java +++ b/src/main/java/com/shanzhu/oe/controller/ScoreController.java @@ -26,6 +26,11 @@ public class ScoreController { * * @return 考试成绩 */ + @GetMapping("/scores") + public R> findAll() { + List res = scoreService.findAll(); + return ApiResultHandler.buildApiResult(200, "查询所有学生成绩", res); + } /** * 查询考试成绩 分页 @@ -35,7 +40,15 @@ public class ScoreController { * @param studentId 学生id * @return 考试成绩 */ - + @GetMapping("/score/{page}/{size}/{studentId}") + public R> findById( + @PathVariable("page") Integer page, + @PathVariable("size") Integer size, + @PathVariable("studentId") Integer studentId + ) { + IPage res = scoreService.findById(new Page<>(page, size), studentId); + return ApiResultHandler.buildApiResult(200, "根据ID查询成绩", res); + } /** * 查询考试成绩 不分页 @@ -43,6 +56,15 @@ public class ScoreController { * @param studentId 学生id * @return 考试成绩 */ + @GetMapping("/score/{studentId}") + public R> findById(@PathVariable("studentId") Integer studentId) { + List res = scoreService.findById(studentId); + if (!res.isEmpty()) { + return ApiResultHandler.buildApiResult(200, "根据ID查询成绩", res); + } else { + return ApiResultHandler.buildApiResult(400, "ID不存在", res); + } + } /** * 添加学生成绩 @@ -50,7 +72,15 @@ public class ScoreController { * @param score 学生成绩 * @return 考试成绩 */ - + @PostMapping("/score") + public R add(@RequestBody Score score) { + int res = scoreService.add(score); + if (res == 0) { + return ApiResultHandler.buildApiResult(400, "成绩添加失败", res); + } else { + return ApiResultHandler.buildApiResult(200, "成绩添加成功", res); + } + } /** * 通过考试编号 查询学生成绩 @@ -58,4 +88,9 @@ public class ScoreController { * @param examCode 考试编号 * @return 考试成绩 */ + @GetMapping("/scores/{examCode}") + public R> findByExamCode(@PathVariable("examCode") Integer examCode) { + List scores = scoreService.findByExamCode(examCode); + return ApiResultHandler.buildApiResult(200, "查询成功", scores); + } } diff --git a/src/main/java/com/shanzhu/oe/controller/StudentController.java b/src/main/java/com/shanzhu/oe/controller/StudentController.java index 6aacdba..e2a39f4 100644 --- a/src/main/java/com/shanzhu/oe/controller/StudentController.java +++ b/src/main/java/com/shanzhu/oe/controller/StudentController.java @@ -35,6 +35,22 @@ public class StudentController { * @param clazz 班级 * @return 学生列表 */ + @GetMapping("/students/{page}/{size}/{name}/{grade}/{tel}/{institute}/{major}/{clazz}") + public R> findAll( + @PathVariable Integer page, + @PathVariable Integer size, + @PathVariable String name, + @PathVariable String grade, + @PathVariable String tel, + @PathVariable String institute, + @PathVariable String major, + @PathVariable String clazz + ) { + IPage res = studentService.findAll( + new Page<>(page, size), name, grade, tel, institute, major, clazz + ); + return ApiResultHandler.buildApiResult(200, "分页查询所有学生", res); + } /** * 通过学生id查询学生