diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java index 3931254..ce85bcc 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java @@ -19,4 +19,6 @@ public interface StudentDOMapper { // 逻辑删除 void deleteById(Integer id); + + int selectStudentCountByClassId(@Param("classId") Integer classId); } \ No newline at end of file diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/classs/ClassServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/classs/ClassServiceImpl.java index c7eed27..5e5271f 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/classs/ClassServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/classs/ClassServiceImpl.java @@ -6,6 +6,7 @@ import com.yinlihupo.enlish.service.domain.dataobject.GradeDO; import com.yinlihupo.enlish.service.domain.mapper.ClassDOMapper; import com.yinlihupo.enlish.service.domain.mapper.GradeClassDOMapper; import com.yinlihupo.enlish.service.domain.mapper.GradeDOMapper; +import com.yinlihupo.enlish.service.domain.mapper.StudentDOMapper; import com.yinlihupo.enlish.service.service.ClassService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -24,6 +25,8 @@ public class ClassServiceImpl implements ClassService { private GradeClassDOMapper gradeClassDOMapper; @Resource private GradeDOMapper gradeDOMapper; + @Resource + private StudentDOMapper studentDOMapper; @Override public ClassDO findClassById(Integer id) { @@ -82,6 +85,10 @@ public class ClassServiceImpl implements ClassService { @Override public void deleteClass(Integer classId) { + int selectStudentCountByClassId = studentDOMapper.selectStudentCountByClassId(classId); + if (selectStudentCountByClassId > 0) { + throw new RuntimeException("该班级下有学生,请先删除该班级下的学生"); + } classDOMapper.delete(classId); } } diff --git a/enlish-service/src/main/resources/mapper/StudentDOMapper.xml b/enlish-service/src/main/resources/mapper/StudentDOMapper.xml index f6ad208..8f323fd 100644 --- a/enlish-service/src/main/resources/mapper/StudentDOMapper.xml +++ b/enlish-service/src/main/resources/mapper/StudentDOMapper.xml @@ -61,4 +61,11 @@ set is_deleted = 1 where id = #{id} + + \ No newline at end of file