AssessmentPlanAnswerController.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. package com.xjrsoft.module.assessment.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import cn.dev33.satoken.stp.StpUtil;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.xjrsoft.common.model.result.RT;
  6. import com.xjrsoft.common.page.ConventPage;
  7. import com.xjrsoft.common.page.PageOutput;
  8. import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
  9. import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
  10. import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
  11. import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
  12. import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
  13. import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
  14. import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerClassResultVo;
  15. import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
  16. import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
  17. import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
  18. import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanAnswerResultVo;
  19. import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
  20. import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
  21. import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanResultVo;
  22. import io.swagger.annotations.Api;
  23. import io.swagger.annotations.ApiOperation;
  24. import lombok.AllArgsConstructor;
  25. import org.springframework.web.bind.annotation.GetMapping;
  26. import org.springframework.web.bind.annotation.PostMapping;
  27. import org.springframework.web.bind.annotation.RequestBody;
  28. import org.springframework.web.bind.annotation.RequestMapping;
  29. import org.springframework.web.bind.annotation.RequestParam;
  30. import org.springframework.web.bind.annotation.RestController;
  31. import javax.validation.Valid;
  32. import java.util.List;
  33. /**
  34. * @title: 考核计划
  35. * @Author dzx
  36. * @Date: 2024-04-01
  37. * @Version 1.0
  38. */
  39. @RestController
  40. @RequestMapping("/assessment" + "/assessmentTemplateAnswer")
  41. @Api(value = "/assessment" + "/assessmentTemplateAnswer",tags = "考核计划答题代码")
  42. @AllArgsConstructor
  43. public class AssessmentPlanAnswerController {
  44. private final IAssessmentTemplatePlanService planService;
  45. @GetMapping(value = "/student-page")
  46. @ApiOperation(value="考核计划答题列表-学生端(分页)")
  47. @SaCheckPermission("assessmenttemplateplan:detail")
  48. public RT<PageOutput<AssessmentPlanAnswerStudentPageVo>> studentPage(@Valid AssessmentPlanAnswerPageDto dto){
  49. dto.setStudentUserId(StpUtil.getLoginIdAsLong());
  50. Page<AssessmentPlanAnswerStudentPageVo> page = planService.getStudentPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
  51. PageOutput<AssessmentPlanAnswerStudentPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerStudentPageVo.class);
  52. return RT.ok(pageOutput);
  53. }
  54. // @GetMapping(value = "/result-page")
  55. // @ApiOperation(value="考核计划答题列表-学生端(分页)")
  56. // @SaCheckPermission("assessmenttemplateplan:detail")
  57. // public RT<PageOutput<AssessmentPlanAnswerStudentPageVo>> resultPage(@Valid AssessmentPlanAnswerPageDto dto){
  58. // dto.setStudentUserId(StpUtil.getLoginIdAsLong());
  59. // Page<AssessmentPlanAnswerStudentPageVo> page = planService.getStudentPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
  60. // PageOutput<AssessmentPlanAnswerStudentPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerStudentPageVo.class);
  61. // return RT.ok(pageOutput);
  62. // }
  63. @GetMapping(value = "/teacher-page")
  64. @ApiOperation(value="考核计划答题列表-教师端(分页)")
  65. @SaCheckPermission("assessmenttemplateplan:detail")
  66. public RT<PageOutput<AssessmentPlanAnswerTeacherPageVo>> teacherPage(@Valid AssessmentPlanAnswerPageDto dto){
  67. dto.setTeacherId(StpUtil.getLoginIdAsLong());
  68. dto.setIsHeadTeacher(1);
  69. Page<AssessmentPlanAnswerTeacherPageVo> page = planService.getTeacherPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
  70. PageOutput<AssessmentPlanAnswerTeacherPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerTeacherPageVo.class);
  71. return RT.ok(pageOutput);
  72. }
  73. @GetMapping(value = "/all-class-page")
  74. @ApiOperation(value="考核计划答题列表-所有班级(分页)")
  75. @SaCheckPermission("assessmenttemplateplan:detail")
  76. public RT<PageOutput<AssessmentPlanAnswerTeacherPageVo>> allClassPage(@Valid AssessmentPlanAnswerPageDto dto){
  77. if(StpUtil.getRoleList().contains("CLASSTE")){
  78. dto.setTeacherId(StpUtil.getLoginIdAsLong());
  79. dto.setIsHeadTeacher(0);
  80. }
  81. Page<AssessmentPlanAnswerTeacherPageVo> page = planService.getTeacherPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
  82. PageOutput<AssessmentPlanAnswerTeacherPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerTeacherPageVo.class);
  83. return RT.ok(pageOutput);
  84. }
  85. @GetMapping(value = "/mobile-page")
  86. @ApiOperation(value="考核计划答题列表-所有计划(分页)")
  87. @SaCheckPermission("assessmenttemplateplan:detail")
  88. public RT<List<AssessmentTemplatePlanPageVo>> mobilePage(@Valid AssessmentTemplatePlanPageDto dto){
  89. List<AssessmentTemplatePlanPageVo> page = planService.getMobilePage(dto);
  90. return RT.ok(page);
  91. }
  92. @GetMapping(value = "/answer-student-page")
  93. @ApiOperation(value="考核计划答题列表-学生答题情况(分页)")
  94. @SaCheckPermission("assessmenttemplateplan:detail")
  95. public RT<PageOutput<AssessmentPlanAnswerStudentVo>> answerStudent(@Valid AssessmentPlanAnswerStudentDto dto){
  96. Page<AssessmentPlanAnswerStudentVo> page = planService.getAnswerStudent(new Page<>(dto.getLimit(), dto.getSize()), dto);
  97. PageOutput<AssessmentPlanAnswerStudentVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerStudentVo.class);
  98. return RT.ok(pageOutput);
  99. }
  100. @GetMapping(value = "/info")
  101. @ApiOperation(value="根据id查询考核计划信息")
  102. @SaCheckPermission("assessmenttemplateplan:detail")
  103. public RT<AssessmentTemplatePlanQuestionVo> info(@RequestParam Long id){
  104. AssessmentTemplatePlanQuestionVo questionVo = planService.getQuestionsById(id);
  105. if (questionVo == null) {
  106. return RT.error("找不到此数据!");
  107. }
  108. return RT.ok(questionVo);
  109. }
  110. @PostMapping(value="sure")
  111. @ApiOperation(value = "班主任确认考核")
  112. @SaCheckPermission("assessmenttemplateplan:add")
  113. public RT<Boolean> add(@Valid @RequestBody AssessmentTemplatePlanSureDto dto){
  114. boolean isSuccess = planService.sure(dto);
  115. return RT.ok(isSuccess);
  116. }
  117. @PostMapping(value="save-answer")
  118. @ApiOperation(value = "提交答题")
  119. @SaCheckPermission("assessmenttemplateplan:save-answer")
  120. public RT<Boolean> saveAnswer(@Valid @RequestBody AssessmentPlanSubmitDto dto){
  121. boolean isSuccess = planService.saveAnswer(dto);
  122. return RT.ok(isSuccess);
  123. }
  124. @GetMapping(value="class-result")
  125. @ApiOperation(value = "班级答题情况")
  126. @SaCheckPermission("assessmenttemplateplan:class-result")
  127. public RT<List<AssessmentPlanAnswerClassResultVo>> classResult(@RequestParam Long id){
  128. List<AssessmentPlanAnswerClassResultVo> resultList = planService.getClassResult(id);
  129. return RT.ok(resultList);
  130. }
  131. @GetMapping(value="question-result")
  132. @ApiOperation(value = "每道题的答题情况")
  133. @SaCheckPermission("assessmenttemplateplan:question-result")
  134. public RT<AssessmentTemplatePlanResultVo> questionResult(@RequestParam Long id){
  135. AssessmentTemplatePlanResultVo resultList = planService.getQuestionResult(id);
  136. return RT.ok(resultList);
  137. }
  138. @PostMapping(value="send-msg")
  139. @ApiOperation(value = "推送微信通知")
  140. @SaCheckPermission("assessmenttemplateplan:send-msg")
  141. public RT<Boolean> questionResult(@Valid @RequestBody AssessmentTemplatePlanSureDto dto){
  142. Boolean sendMsg = planService.sendMsg(dto);
  143. return RT.ok(sendMsg);
  144. }
  145. @GetMapping(value="answer-student-result")
  146. @ApiOperation(value = "每个学生的答题详情")
  147. @SaCheckPermission("assessmenttemplateplan:answer-student-result")
  148. public RT<AssessmentTemplatePlanAnswerResultVo> studentAnswerResult(@RequestParam Long studentUserId, @RequestParam Long assessmentTemplatePlanId){
  149. AssessmentTemplatePlanAnswerResultVo result = planService.getAnswerStudentResult(studentUserId, assessmentTemplatePlanId);
  150. return RT.ok(result);
  151. }
  152. @GetMapping(value = "/answer-export-query")
  153. @ApiOperation(value="考核计划答题列表-学生答题情况导出")
  154. @SaCheckPermission("assessmenttemplateplan:detail")
  155. public RT<List<AssessmentPlanAnswerStudentVo>> answerExportQuery(@Valid AssessmentPlanAnswerStudentDto dto){
  156. return RT.ok();
  157. }
  158. }