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 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); } }