TeacherController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.zxyj.controller.guide;
  2. import com.zxyj.common.Result;
  3. import com.zxyj.dto.*;
  4. import com.zxyj.entity.User;
  5. import com.zxyj.service.TeacherService;
  6. import io.swagger.v3.oas.annotations.Operation;
  7. import io.swagger.v3.oas.annotations.tags.Tag;
  8. import javax.annotation.Resource;
  9. import org.springframework.web.bind.annotation.*;
  10. import java.util.List;
  11. import java.util.Map;
  12. /**
  13. * 教师控制器
  14. * 处理教师相关的业务操作
  15. */
  16. @Tag(name = "教师管理", description = "教师任务创建、班级管理、学生进度查看等接口")
  17. @RestController
  18. @RequestMapping("/api/teacher")
  19. public class TeacherController {
  20. @Resource
  21. private TeacherService teacherService;
  22. /**
  23. * 获取教师信息
  24. */
  25. @Operation(summary = "获取教师信息")
  26. @PostMapping("/info")
  27. public Result<TeacherDTO> getTeacherInfo(@RequestAttribute("userId") Long teacherId) {
  28. TeacherDTO info = teacherService.getTeacherInfo(teacherId);
  29. return Result.success(info);
  30. }
  31. /**
  32. * 创建教学任务
  33. */
  34. @Operation(summary = "创建教学任务")
  35. @PostMapping("/tasks")
  36. public Result<Long> createTask(@RequestAttribute("userId") Long teacherId,
  37. @RequestBody CreateTeacherTaskDTO dto) {
  38. // TODO: Implement createTask in TeacherService
  39. // Long taskId = teacherService.createTask(teacherId, dto);
  40. // return Result.success(taskId);
  41. return Result.error("功能开发中");
  42. }
  43. /**
  44. * 获取教师任务列表
  45. */
  46. @Operation(summary = "获取教师任务列表")
  47. @PostMapping("/tasks")
  48. public Result<List<TaskDTO>> getTaskList(@RequestAttribute("userId") Long teacherId) {
  49. // TODO: Implement getTaskList in TeacherService
  50. // List<TaskDTO> tasks = teacherService.getTaskList(teacherId);
  51. // return Result.success(tasks);
  52. return Result.success(null);
  53. }
  54. /**
  55. * 创建班级
  56. */
  57. @Operation(summary = "创建班级")
  58. @PostMapping("/classes")
  59. public Result<Long> createClass(@RequestAttribute("userId") Long teacherId,
  60. @RequestBody CreateClassDTO dto) {
  61. // TODO: Implement createClass in TeacherService
  62. // Long classId = teacherService.createClass(teacherId, dto);
  63. // return Result.success(classId);
  64. return Result.error("功能开发中");
  65. }
  66. /**
  67. * 获取教师班级列表
  68. */
  69. @Operation(summary = "获取教师班级列表")
  70. @PostMapping("/classes")
  71. public Result<List<ClassInfoDTO>> getClassList(@RequestAttribute("userId") Long teacherId) {
  72. // TODO: Implement getClassList in TeacherService
  73. // List<ClassInfoDTO> classes = teacherService.getClassList(teacherId);
  74. // return Result.success(classes);
  75. return Result.success(null);
  76. }
  77. /**
  78. * 获取班级学生列表
  79. */
  80. @Operation(summary = "获取班级学生列表")
  81. @PostMapping("/classes/{classId}/students")
  82. public Result<List<StudentInfoDTO>> getClassStudents(@RequestAttribute("userId") Long teacherId,
  83. @PathVariable Long classId) {
  84. // TODO: Implement getClassStudents in TeacherService
  85. // List<StudentInfoDTO> students = teacherService.getClassStudents(teacherId, classId);
  86. // return Result.success(students);
  87. return Result.success(null);
  88. }
  89. /**
  90. * 添加学生到班级
  91. */
  92. @Operation(summary = "添加学生到班级")
  93. @PostMapping("/classes/{classId}/students")
  94. public Result<Boolean> addStudentToClass(@RequestAttribute("userId") Long teacherId,
  95. @PathVariable Long classId,
  96. @RequestBody Map<String, Long> body) {
  97. // Long studentId = body.get("studentId");
  98. // boolean success = teacherService.addStudentToClass(teacherId, classId, studentId);
  99. // return Result.success(success);
  100. return Result.error("功能开发中");
  101. }
  102. /**
  103. * 从班级移除学生
  104. */
  105. @Operation(summary = "从班级移除学生")
  106. @DeleteMapping("/classes/{classId}/students/{studentId}")
  107. public Result<Boolean> removeStudentFromClass(@RequestAttribute("userId") Long teacherId,
  108. @PathVariable Long classId,
  109. @PathVariable Long studentId) {
  110. // boolean success = teacherService.removeStudentFromClass(teacherId, classId, studentId);
  111. // return Result.success(success);
  112. return Result.error("功能开发中");
  113. }
  114. /**
  115. * 获取学生学习进度
  116. */
  117. @Operation(summary = "获取学生学习进度")
  118. @PostMapping("/students/{studentId}/progress")
  119. public Result<StudentProgressDTO> getStudentProgress(@RequestAttribute("userId") Long teacherId,
  120. @PathVariable Long studentId) {
  121. // TODO: Implement getStudentProgress in TeacherService
  122. // StudentProgressDTO progress = teacherService.getStudentProgress(teacherId, studentId);
  123. // return Result.success(progress);
  124. return Result.success(null);
  125. }
  126. /**
  127. * 获取班级学习报告
  128. */
  129. @Operation(summary = "获取班级学习报告")
  130. @PostMapping("/classes/{classId}/report")
  131. public Result<ClassReportDTO> getClassReport(@RequestAttribute("userId") Long teacherId,
  132. @PathVariable Long classId) {
  133. // TODO: Implement getClassReport in TeacherService
  134. // ClassReportDTO report = teacherService.getClassReport(teacherId, classId);
  135. // return Result.success(report);
  136. return Result.success(null);
  137. }
  138. }