package com.sincere.student.service.impl; import com.github.pagehelper.PageHelper; import com.sincere.student.dto.UniversitySearchDto; import com.sincere.student.mapper.UniversityMajorMapper; import com.sincere.student.mapper.UniversityMapper; import com.sincere.student.model.University; import com.sincere.student.model.UniversityMajor; import com.sincere.student.service.UniversityService; import com.sincere.student.utils.Page; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Handler; @Service public class UniversityServiceImpl implements UniversityService { @Autowired UniversityMapper universityMapper; @Autowired UniversityMajorMapper universityMajorMapper; @Override public Page getList(UniversitySearchDto universitySearchDto) { Page page = new Page<>(universitySearchDto.getPage(), universitySearchDto.getPageSize()); PageHelper.startPage(universitySearchDto.getPage(), universitySearchDto.getPageSize()); if (StringUtils.isNotBlank(universitySearchDto.getSearch())) { universitySearchDto.setSearch("%" + universitySearchDto.getSearch() + "%"); } List list = universityMapper.getList(universitySearchDto); for (University university : list) { university.setMajorList(universityMajorMapper.selectUniversityMajor(university.getId())); } page.setList(list); page.setCount(universityMapper.getListCount(universitySearchDto)); return page; } @Override public int create(University university) { return universityMapper.create(university); } @Override public int delete(int id) { universityMajorMapper.deleteByUniversityId(id); return universityMapper.delete(id); } @Override public University getById(int id) { return universityMapper.getById(id); } @Override public int update(University university) { return universityMapper.update(university); } @Override public int addMajor(List list) { universityMajorMapper.deleteByUniversityId(list.get(0).getUniversityId()); List result = new ArrayList<>(); int i = 0; for (UniversityMajor universityMajor : list) { i++; result.add(universityMajor); if (i % 100 == 0) { universityMajorMapper.insertBatch(result); result = new ArrayList<>(); } } if (result.size() > 0) { universityMajorMapper.insertBatch(result); } return 1; } @Override public Integer selectByName(String name) { return universityMapper.selectByName(name); } @Override public Integer selectIdByMajor(String major, int id) { Map map = new HashMap<>(); map.put("major", major); map.put("id", id + ""); return universityMajorMapper.selectIdByMajor(map); } }