package com.sztzjy.linkCommerce.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sztzjy.linkCommerce.entity.*; import com.sztzjy.linkCommerce.entity.dto.SchoolClassDto; import com.sztzjy.linkCommerce.entity.dto.SchoolFacultyDto; import com.sztzjy.linkCommerce.entity.dto.SchoolMajorDto; import com.sztzjy.linkCommerce.mapper.SchoolClassMapper; import com.sztzjy.linkCommerce.mapper.SchoolFacultyMapper; import com.sztzjy.linkCommerce.mapper.SchoolMajorMapper; import com.sztzjy.linkCommerce.mapper.SchoolMapper; import com.sztzjy.linkCommerce.service.SchoolService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; @Service public class SchoolServiceImpl implements SchoolService { @Autowired SchoolMapper schoolMapper; @Autowired SchoolFacultyMapper schoolFacultyMapper; @Autowired SchoolMajorMapper schoolMajorMapper; @Autowired SchoolClassMapper schoolClassMapper; @Override public Integer addSchool(School school) { //新增院校 String schoolId = UUID.randomUUID().toString(); school.setSchoolId(schoolId); int insert = schoolMapper.insert(school); return insert; } @Override public Integer updateSchool(School school) { int i = schoolMapper.updateByPrimaryKey(school); return i; } @Override public Integer deleteSchool(String schoolId) { int i = schoolMapper.deleteByPrimaryKey(schoolId); return i; } @Override public PageInfo seleteSchoolFaculty(Integer index, Integer size, String schoolId, String schoolFacultyName) { PageHelper.startPage(index, size); // 查询院系信息,假设您有相应的 DAO 或 Mapper 可以用来执行查询 SchoolFacultyExample schoolFacultyExample = new SchoolFacultyExample(); SchoolFacultyExample.Criteria criteria = schoolFacultyExample.createCriteria(); if (schoolId != null) { criteria.andSchoolIdEqualTo(schoolId); } if (schoolFacultyName != null) { criteria.andSchoolFacultyNameLike("%" + schoolFacultyName + "%"); } List schoolFaculties = schoolFacultyMapper.selectByExample(schoolFacultyExample); // 将院系信息转换为 DTO List dtoList = schoolFaculties.stream() .map(schoolFaculty -> { SchoolFacultyDto dto = new SchoolFacultyDto(); dto.setSchoolFaculty(schoolFaculty); // 设置信息学校名称,假设在 schoolFaculty 对象中有 school_id,您可以通过服务获取学校名称 String schoolName = schoolMapper.selectSchoolNameById(schoolFaculty.getSchoolId()); dto.setSchoolName(schoolName); return dto; }) .collect(Collectors.toList()); // 创建 PageInfo 对象,将 DTO 列表封装成分页结果 return new PageInfo<>(dtoList); } @Override public PageInfo seleteSchoolMajor(Integer index, Integer size, String schoolId, String schoolMajorName, String schoolFacultyId) { // 使用 PageHelper 进行分页 PageHelper.startPage(index, size); // 调用 Mapper 查询数据 List schoolMajorList = schoolMajorMapper.findSchoolMajorList(schoolMajorName, schoolFacultyId); // 返回分页结果 return new PageInfo<>(schoolMajorList); } @Override public PageInfo seleteSchoolClass(Integer index, Integer size, String schoolId, String className, String classSn, String schoolMajorId) { PageHelper.startPage(index, size); // 查询院系信息,假设您有相应的 DAO 或 Mapper 可以用来执行查询 SchoolClassExample schoolClassExample = new SchoolClassExample(); SchoolClassExample.Criteria criteria = schoolClassExample.createCriteria(); if (className != null) { criteria.andClassNameLike("%" + className + "%"); } if (classSn != null) { criteria.andClassSnEqualTo(classSn); } if (schoolMajorId != null) { criteria.andSchoolMajorIdEqualTo(schoolMajorId); } List schoolClasses = schoolClassMapper.selectByExample(schoolClassExample); // 将院系信息转换为 DTO List dtoList = schoolClasses.stream() .map(schoolClass -> { SchoolClassDto dto = new SchoolClassDto(); dto.setSchoolClass(schoolClass); String schoolName = schoolMapper.selectSchoolNameById(schoolId); dto.setSchoolName(schoolName); return dto; }) .collect(Collectors.toList()); // 创建 PageInfo 对象,将 DTO 列表封装成分页结果 return new PageInfo<>(dtoList); } @Override public boolean existsBySchoolMajorName(String schoolName, String schoolMajorName, String schoolFacultyName) { SchoolExample schoolExample = new SchoolExample(); schoolExample.createCriteria().andSchoolNameEqualTo(schoolName); List schoolList = schoolMapper.selectByExample(schoolExample); if (schoolList.isEmpty() || schoolList == null) { return false; } else { School school = schoolList.get(0); String schoolId = school.getSchoolId(); SchoolFacultyExample schoolFacultyExample = new SchoolFacultyExample(); schoolFacultyExample.createCriteria().andSchoolIdEqualTo(schoolId).andSchoolFacultyNameEqualTo(schoolFacultyName); List schoolFacultyList = schoolFacultyMapper.selectByExample(schoolFacultyExample); if (schoolFacultyList.isEmpty() || schoolFacultyList == null) { return false; } else { SchoolFaculty schoolFaculty = schoolFacultyList.get(0); String schoolFacultyId = schoolFaculty.getSchoolFacultyId(); SchoolMajorExample schoolMajorExample = new SchoolMajorExample(); schoolMajorExample.createCriteria().andSchoolMajorNameEqualTo(schoolMajorName).andSchoolFacultyIdEqualTo(schoolFacultyId); List schoolMajorList = schoolMajorMapper.selectByExample(schoolMajorExample); if (schoolMajorList.isEmpty() || schoolMajorList == null) { return false; } else { return true; } } } } @Override public boolean existsBySchoolClassName(String schoolName, String schoolMajorName, String schoolFacultyName, String schoolClassName) { SchoolExample schoolExample = new SchoolExample(); schoolExample.createCriteria().andSchoolNameEqualTo(schoolName); List schoolList = schoolMapper.selectByExample(schoolExample); if (schoolList.isEmpty() || schoolList == null) { return false; } else { School school = schoolList.get(0); String schoolId = school.getSchoolId(); SchoolFacultyExample schoolFacultyExample = new SchoolFacultyExample(); schoolFacultyExample.createCriteria().andSchoolIdEqualTo(schoolId).andSchoolFacultyNameEqualTo(schoolFacultyName); List schoolFacultyList = schoolFacultyMapper.selectByExample(schoolFacultyExample); if (schoolFacultyList.isEmpty() || schoolFacultyList == null) { return false; } else { SchoolFaculty schoolFaculty = schoolFacultyList.get(0); String schoolFacultyId = schoolFaculty.getSchoolFacultyId(); SchoolMajorExample schoolMajorExample = new SchoolMajorExample(); schoolMajorExample.createCriteria().andSchoolMajorNameEqualTo(schoolMajorName).andSchoolFacultyIdEqualTo(schoolFacultyId); List schoolMajorList = schoolMajorMapper.selectByExample(schoolMajorExample); if (schoolMajorList.isEmpty() || schoolMajorList == null) { return false; } else { SchoolMajor schoolMajor = schoolMajorList.get(0); String schoolMajorId = schoolMajor.getSchoolMajorId(); SchoolClassExample schoolClassExample = new SchoolClassExample(); schoolClassExample.createCriteria().andClassNameEqualTo(schoolClassName).andSchoolMajorIdEqualTo(schoolMajorId); List schoolClasseList = schoolClassMapper.selectByExample(schoolClassExample); if(schoolClasseList.isEmpty() || schoolClasseList==null){ return false; }else { return true; } } } } } //根据学校名称查询学校ID @Override public String selectSchoolIdBySchoolName(String schoolName) { SchoolExample schoolExample = new SchoolExample(); schoolExample.createCriteria().andSchoolNameEqualTo(schoolName); List schoolList = schoolMapper.selectByExample(schoolExample); if (schoolList.isEmpty() || schoolList == null) { return null; } else { return schoolList.get(0).getSchoolId(); } } //根据学校ID和院系名查询院系ID @Override public String selectFacultyIdBySchoolIdAndFacultyName(String schoolId, String schoolFacultyName) { SchoolFacultyExample schoolFacultyExample = new SchoolFacultyExample(); schoolFacultyExample.createCriteria().andSchoolIdEqualTo(schoolId).andSchoolFacultyNameEqualTo(schoolFacultyName); List schoolFacultyList = schoolFacultyMapper.selectByExample(schoolFacultyExample); if (schoolFacultyList.isEmpty() || schoolFacultyList == null) { return null; } else { return schoolFacultyList.get(0).getSchoolFacultyId(); } } //根据院系ID和专业名称查询专业ID @Override public String selectMajorIdByFacultyIdAndMajorName(String schoolFacultyId, String schoolMajorName) { SchoolMajorExample schoolMajorExample = new SchoolMajorExample(); schoolMajorExample.createCriteria().andSchoolMajorNameEqualTo(schoolMajorName).andSchoolFacultyIdEqualTo(schoolFacultyId); List schoolMajorList = schoolMajorMapper.selectByExample(schoolMajorExample); if (schoolMajorList.isEmpty() || schoolMajorList == null) { return null; } else { return schoolMajorList.get(0).getSchoolMajorId(); } } }