SmartTeachingController.java 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.template.controller;
  2. import com.template.api.SmartTeachingControllerAPI;
  3. import com.template.model.pojo.SmartClass;
  4. import com.template.model.pojo.SmartGrade;
  5. import com.template.model.pojo.SmartSubject;
  6. import com.template.model.result.CommonResult;
  7. import com.template.model.vo.SubjectClassVo;
  8. import com.template.model.vo.SubjectGradeVo;
  9. import com.template.model.vo.SubjectVo;
  10. import com.template.services.SmartClassService;
  11. import com.template.services.SmartGradeService;
  12. import com.template.services.SmartSubjectService;
  13. import com.template.services.SmartTeachingService;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import java.util.stream.Collectors;
  20. /**
  21. * <p>
  22. * 应用管理 前端控制器
  23. * </p>
  24. *
  25. * @author ceshi
  26. * @since 2024-05-24
  27. */
  28. @RestController
  29. public class SmartTeachingController implements SmartTeachingControllerAPI {
  30. @Autowired
  31. private SmartTeachingService smartTeachingService;
  32. @Autowired
  33. private SmartGradeService smartGradeService;
  34. @Autowired
  35. private SmartClassService smartClassService;
  36. @Autowired
  37. private SmartSubjectService smartSubjectService;
  38. @Override
  39. public CommonResult queryTeachings() {
  40. List<SubjectVo> result = new ArrayList<>();
  41. List<SmartGrade> grades = smartGradeService.list(null);
  42. List<SmartSubject> subjects = smartSubjectService.list(null);
  43. List<SmartClass> classes = smartClassService.list(null);
  44. for (SmartSubject subject : subjects) {
  45. SubjectVo subjectData = new SubjectVo();
  46. subjectData.setId(subject.getId());
  47. subjectData.setName(subject.getName());
  48. List<SubjectGradeVo> subjectVos = new ArrayList<>();
  49. List<SmartGrade> ownerGrades = grades.stream().filter(e -> ("," + e.getSubjectId() + ",").contains("," + subject.getId() + ",")).collect(Collectors.toList());
  50. if (ownerGrades != null && ownerGrades.size() > 0) {
  51. for (SmartGrade ownerGrade : ownerGrades) {
  52. SubjectGradeVo gradeDetail = new SubjectGradeVo();
  53. gradeDetail.setId(ownerGrade.getId());
  54. gradeDetail.setName(ownerGrade.getName());
  55. List<SubjectClassVo> classVos = new ArrayList<>();
  56. List<SmartClass> ownerClasses = classes.stream().filter(e -> e.getGradeId().equals(ownerGrade.getId())).collect(Collectors.toList());
  57. if(ownerClasses != null && ownerClasses.size() > 0){
  58. for (SmartClass ownerClass :ownerClasses){
  59. SubjectClassVo classVo = new SubjectClassVo();
  60. classVo.setId(ownerClass.getId());
  61. classVo.setName(ownerClass.getName());
  62. classVos.add(classVo);
  63. }
  64. }
  65. gradeDetail.setChildren(classVos);
  66. subjectVos.add(gradeDetail);
  67. }
  68. }
  69. subjectData.setChildren(subjectVos);
  70. result.add(subjectData);
  71. }
  72. return CommonResult.ok(result);
  73. }
  74. }