You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.8 KiB
Java
55 lines
1.8 KiB
Java
package cn.zyp.stusystem.service.impl;
|
|
|
|
|
|
import cn.zyp.stusystem.entity.GradeClass;
|
|
import cn.zyp.stusystem.entity.Student;
|
|
import cn.zyp.stusystem.entity.User;
|
|
import cn.zyp.stusystem.mapper.ClassMapper;
|
|
import cn.zyp.stusystem.mapper.StudentMapper;
|
|
import cn.zyp.stusystem.mapper.UserMapper;
|
|
import cn.zyp.stusystem.service.ClassService;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
public class ClassServiceImpl extends ServiceImpl<ClassMapper, GradeClass> implements ClassService {
|
|
|
|
@Autowired
|
|
private StudentMapper studentMapper;
|
|
@Autowired
|
|
private UserMapper userMapper;
|
|
|
|
@Override
|
|
public List<GradeClass> findClassByGradeId(Integer gradeId) {
|
|
QueryWrapper<GradeClass> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.eq("grade",gradeId);
|
|
List<GradeClass> classes = baseMapper.selectList(queryWrapper);
|
|
|
|
// 为每个班级设置班主任姓名
|
|
for (GradeClass gradeClass : classes) {
|
|
if (gradeClass.getHeadTeacherId() != null) {
|
|
// 根据headTeacherId查询班主任姓名
|
|
User teacher = userMapper.selectById(gradeClass.getHeadTeacherId());
|
|
if (teacher != null) {
|
|
gradeClass.setHeadTeacher(teacher.getName());
|
|
}
|
|
}
|
|
}
|
|
|
|
return classes;
|
|
}
|
|
|
|
@Override
|
|
public boolean isClassHasStudent(Integer classId) {
|
|
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.eq("class_id",classId);
|
|
|
|
return studentMapper.selectCount(queryWrapper)>0;
|
|
}
|
|
}
|