FrontTeacherController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.ruoyi.web.controller.front;
  2. import com.alibaba.fastjson2.JSONObject;
  3. import com.google.common.collect.Lists;
  4. import com.ruoyi.common.core.controller.BaseController;
  5. import com.ruoyi.common.core.domain.AjaxResult;
  6. import com.ruoyi.common.core.domain.R;
  7. import com.ruoyi.common.core.domain.entity.SysUser;
  8. import com.ruoyi.common.core.page.TableDataInfo;
  9. import com.ruoyi.common.utils.SecurityUtils;
  10. import com.ruoyi.dz.domain.DzTeacher;
  11. import com.ruoyi.dz.service.IDzControlService;
  12. import com.ruoyi.dz.service.IDzSubjectService;
  13. import com.ruoyi.dz.service.IDzTeacherService;
  14. import com.ruoyi.learn.domain.LearnTest;
  15. import com.ruoyi.learn.service.ILearnTestService;
  16. import com.ruoyi.web.domain.TestRecordCond;
  17. import com.ruoyi.web.service.LearnStatService;
  18. import com.ruoyi.web.service.LearnTeacherService;
  19. import com.ruoyi.web.service.StudentService;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import io.swagger.annotations.ApiParam;
  23. import org.springframework.web.bind.annotation.*;
  24. import java.util.List;
  25. @RestController
  26. @RequestMapping("/front/teacher")
  27. @Api(tags = "前台-学习-老师")
  28. public class FrontTeacherController extends BaseController {
  29. private final IDzControlService dzControlService;
  30. private final IDzSubjectService dzSubjectService;
  31. private final ILearnTestService learnTestService;
  32. private final LearnTeacherService learnTeacherService;
  33. private final StudentService studentService;
  34. private final LearnStatService learnStatService;
  35. private final IDzTeacherService dzTeacherService;
  36. public FrontTeacherController(IDzControlService dzControlService, IDzSubjectService dzSubjectService, ILearnTestService learnTestService, LearnTeacherService learnTeacherService, StudentService studentService, LearnStatService learnStatService, IDzTeacherService dzTeacherService) {
  37. this.dzControlService = dzControlService;
  38. this.dzSubjectService = dzSubjectService;
  39. this.learnTestService = learnTestService;
  40. this.learnTeacherService = learnTeacherService;
  41. this.studentService = studentService;
  42. this.learnStatService = learnStatService;
  43. this.dzTeacherService = dzTeacherService;
  44. }
  45. @ApiOperation("10 查询班级列表")
  46. @GetMapping("classes")
  47. public AjaxResult getClasses()
  48. {
  49. SysUser sysUser = SecurityUtils.getLoginUser().getUser();
  50. return AjaxResult.success(learnTeacherService.getClasses(sysUser.getUserTypeId()));
  51. }
  52. @ApiOperation("10 查询批次列表")
  53. @GetMapping("batchs")
  54. public AjaxResult getBatchs()
  55. {
  56. List<LearnTest> list = learnTestService.selectLearnTestList(new LearnTest());
  57. return AjaxResult.success(list);
  58. }
  59. @ApiOperation("记录-模拟卷")
  60. @GetMapping("record/simulated")
  61. public AjaxResult getRecordSimulated()
  62. {
  63. return AjaxResult.success(learnStatService.getSimulatedClassRecord(SecurityUtils.getUserId()));
  64. }
  65. @ApiOperation("记录-模拟卷班级")
  66. @GetMapping("record/simulated/{classId}")
  67. public AjaxResult getRecordSimulatedClass(@ApiParam("班级id") @PathVariable("classId") Long classId)
  68. {
  69. return AjaxResult.success(learnStatService.getSimulatedStudentRecord(classId));
  70. }
  71. @ApiOperation("记录-模拟卷科目")
  72. @GetMapping("record/simulated/subject/{studentId}")
  73. public AjaxResult getRecordSimulatedSubject(@ApiParam("学生ID") @PathVariable("studentId") Long studentId)
  74. {
  75. return AjaxResult.success(learnStatService.getSimulatedSubjectRecord(studentId));
  76. }
  77. @ApiOperation("记录-模拟卷科目")
  78. @GetMapping("record/simulated/knowledge")
  79. public AjaxResult getRecordSimulatedKnowledge(@ApiParam("考生ID") @RequestParam("examineeId") Long examineeId)
  80. {
  81. return AjaxResult.success(studentService.getSimulateStat(examineeId));
  82. }
  83. @ApiOperation("记录-测试卷")
  84. @GetMapping("record/test/cond")
  85. public R<TestRecordCond> getRecordTestCond()
  86. {
  87. DzTeacher dzTeacher = dzTeacherService.selectDzTeacherByTeacherId(SecurityUtils.getLoginUser().getUser().getUserTypeId());
  88. TestRecordCond cond = JSONObject.parseObject(dzTeacher.getBuildInfo(), TestRecordCond.class);
  89. return R.ok(null != cond ? cond : new TestRecordCond());
  90. }
  91. @ApiOperation("记录-测试卷")
  92. @GetMapping("record/test")
  93. public AjaxResult getRecordTest(TestRecordCond cond)
  94. {
  95. cond.setTeacherId(SecurityUtils.getLoginUser().getUser().getUserTypeId());
  96. return AjaxResult.success(learnStatService.getTestRecord(cond));
  97. }
  98. @ApiOperation("记录-测试卷详情")
  99. @GetMapping("record/test/detail")
  100. public AjaxResult getRecordTestDetail(TestRecordCond cond)
  101. {
  102. cond.setTeacherId(SecurityUtils.getLoginUser().getUser().getUserTypeId());
  103. return AjaxResult.success(learnStatService.getTestStudentRecord(cond));
  104. }
  105. @ApiOperation("记录-计划刷题 有班级显示学生")
  106. @GetMapping("record/planStudy")
  107. public TableDataInfo getRecordStudy(@ApiParam("班级") @RequestParam Long classId, @ApiParam("排序字段total/time/rate") @RequestParam String sortField, @ApiParam("升序") @RequestParam Boolean asc)
  108. {
  109. return getDataTable(learnStatService.getClassRecordPlanStudy(classId, sortField, asc));
  110. }
  111. @ApiOperation("记录-计划刷题明细")
  112. @GetMapping("record/planStudy/{recordId}")
  113. public AjaxResult getRecordPlanStudyDetail(@ApiParam("年份") @RequestParam Integer year, @ApiParam("月份") @RequestParam(required = false) Long month, @ApiParam("记录sid") @PathVariable("recordId") Long recordId)
  114. {
  115. return AjaxResult.success(learnStatService.getRecordPlanStudy(recordId, year, month));
  116. }
  117. @ApiOperation("知识点")
  118. @GetMapping("record/knowledge")
  119. public AjaxResult getRecordKnowledge(@ApiParam("班级id") @RequestParam Long classId)
  120. {
  121. return AjaxResult.success(learnStatService.getClassRecordKnowledge(classId));
  122. }
  123. @ApiOperation("知识点")
  124. @GetMapping("record/knowledge/{recordId}")
  125. public TableDataInfo getRecordKnowledgeDetail(@ApiParam("记录sid") @PathVariable("recordId") Long recordId)
  126. {
  127. return getDataTable(learnStatService.getRecordKnowledge(recordId));
  128. }
  129. @ApiOperation("视频记录")
  130. @GetMapping("record/video")
  131. public TableDataInfo getRecordVideo(@ApiParam("班级id") Long classId, @ApiParam("排序") boolean asc)
  132. {
  133. return getDataTable(learnStatService.getClassRecordVideo(classId, asc));
  134. }
  135. @ApiOperation("视频记录")
  136. @GetMapping("record/video/{recordId}")
  137. public AjaxResult getRecordVideoDetail(@ApiParam("记录sid") @PathVariable("recordId") Long recordId)
  138. {
  139. return AjaxResult.success(learnStatService.getRecordVideo(recordId));
  140. }
  141. }