DzTeacherServiceImpl.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.ruoyi.dz.service.impl;
  2. import java.util.List;
  3. import java.util.Map;
  4. import java.util.stream.Collectors;
  5. import com.ruoyi.common.utils.StringUtils;
  6. import com.ruoyi.dz.domain.DzSchool;
  7. import com.ruoyi.dz.mapper.DzSchoolMapper;
  8. import com.ruoyi.enums.UserTypeEnum;
  9. import com.ruoyi.system.service.ISysUserService;
  10. import org.apache.commons.collections4.CollectionUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import com.ruoyi.dz.mapper.DzTeacherMapper;
  14. import com.ruoyi.dz.domain.DzTeacher;
  15. import com.ruoyi.dz.service.IDzTeacherService;
  16. /**
  17. * 老师Service业务层处理
  18. *
  19. * @author ruoyi
  20. * @date 2025-09-12
  21. */
  22. @Service
  23. public class DzTeacherServiceImpl implements IDzTeacherService
  24. {
  25. @Autowired
  26. private DzTeacherMapper dzTeacherMapper;
  27. @Autowired
  28. private DzSchoolMapper schoolMapper;
  29. @Autowired
  30. private ISysUserService userService;
  31. /**
  32. * 查询老师
  33. *
  34. * @param teacherId 老师主键
  35. * @return 老师
  36. */
  37. @Override
  38. public DzTeacher selectDzTeacherByTeacherId(Long teacherId)
  39. {
  40. return dzTeacherMapper.selectDzTeacherByTeacherId(teacherId);
  41. }
  42. /**
  43. * 查询老师列表
  44. *
  45. * @param dzTeacher 老师
  46. * @return 老师
  47. */
  48. @Override
  49. public List<DzTeacher> selectDzTeacherList(DzTeacher dzTeacher)
  50. {
  51. List<DzTeacher> list = dzTeacherMapper.selectDzTeacherList(dzTeacher);
  52. //填充campusName,得到campusIds
  53. List<Long> campusIds = list.stream().map(DzTeacher::getCampusId).collect(Collectors.toList());
  54. if (CollectionUtils.isNotEmpty(campusIds)){
  55. Map<Long, DzSchool> schoolMap = schoolMapper.selectDzSchoolListByIds(campusIds)
  56. .stream().collect(Collectors.toMap(DzSchool::getId,school -> school,
  57. (existing, replacement) -> existing // 如果key重复,保留已存在的
  58. ));
  59. for (DzTeacher teacher : list) {
  60. if (schoolMap.containsKey(teacher.getCampusId())){
  61. teacher.setCampusName(schoolMap.get(teacher.getCampusId()).getName());
  62. }
  63. }
  64. }
  65. return list;
  66. }
  67. /**
  68. * 新增老师
  69. *
  70. * @param dzTeacher 老师
  71. * @return 结果
  72. */
  73. @Override
  74. public Long insertDzTeacher(DzTeacher dzTeacher)
  75. {
  76. if (null == dzTeacher.getDeptId()){
  77. DzSchool school = schoolMapper.selectDzSchoolById(dzTeacher.getCampusId());
  78. if (null!=school){
  79. dzTeacher.setDeptId(school.getDeptId());
  80. }
  81. }
  82. dzTeacherMapper.insertDzTeacher(dzTeacher);//将老师的userId填充到user的userName中
  83. Long teacherId = dzTeacher.getTeacherId();
  84. Long userId = userService.insertRelateUser(UserTypeEnum.Teacher, dzTeacher.getTeacherId(), dzTeacher.getDeptId(), String.valueOf(teacherId), dzTeacher.getName());
  85. //反向更新dzTeacher中的userId
  86. dzTeacher.setUserId(userId);
  87. if (StringUtils.isEmpty(dzTeacher.getName())){
  88. dzTeacher.setName(String.valueOf(teacherId));
  89. }
  90. dzTeacherMapper.updateDzTeacher(dzTeacher);
  91. return teacherId;
  92. }
  93. /**
  94. * 修改老师
  95. *
  96. * @param dzTeacher 老师
  97. * @return 结果
  98. */
  99. @Override
  100. public int updateDzTeacher(DzTeacher dzTeacher)
  101. {
  102. return dzTeacherMapper.updateDzTeacher(dzTeacher);
  103. }
  104. /**
  105. * 批量删除老师
  106. *
  107. * @param teacherIds 需要删除的老师主键
  108. * @return 结果
  109. */
  110. @Override
  111. public int deleteDzTeacherByTeacherIds(Long[] teacherIds)
  112. {
  113. return dzTeacherMapper.deleteDzTeacherByTeacherIds(teacherIds);
  114. }
  115. /**
  116. * 删除老师信息
  117. *
  118. * @param teacherId 老师主键
  119. * @return 结果
  120. */
  121. @Override
  122. public int deleteDzTeacherByTeacherId(Long teacherId)
  123. {
  124. return dzTeacherMapper.deleteDzTeacherByTeacherId(teacherId);
  125. }
  126. }