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.
dianshang-houduan/src/main/java/com/sztzjy/linkCommerce/service/impl/SchoolServiceImpl.java

237 lines
11 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<SchoolFacultyDto> 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<SchoolFaculty> schoolFaculties = schoolFacultyMapper.selectByExample(schoolFacultyExample);
// 将院系信息转换为 DTO
List<SchoolFacultyDto> 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<SchoolMajorDto> seleteSchoolMajor(Integer index, Integer size, String schoolId, String schoolMajorName, String schoolFacultyId) {
// 使用 PageHelper 进行分页
PageHelper.startPage(index, size);
// 调用 Mapper 查询数据
List<SchoolMajorDto> schoolMajorList = schoolMajorMapper.findSchoolMajorList(schoolMajorName, schoolFacultyId);
// 返回分页结果
return new PageInfo<>(schoolMajorList);
}
@Override
public PageInfo<SchoolClassDto> 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<SchoolClass> schoolClasses = schoolClassMapper.selectByExample(schoolClassExample);
// 将院系信息转换为 DTO
List<SchoolClassDto> 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<School> 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<SchoolFaculty> 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<SchoolMajor> 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<School> 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<SchoolFaculty> 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<SchoolMajor> 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<SchoolClass> 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<School> 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<SchoolFaculty> 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<SchoolMajor> schoolMajorList = schoolMajorMapper.selectByExample(schoolMajorExample);
if (schoolMajorList.isEmpty() || schoolMajorList == null) {
return null;
} else {
return schoolMajorList.get(0).getSchoolMajorId();
}
}
}