UniversityServiceImpl.java 3.06 KB
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<University> getList(UniversitySearchDto universitySearchDto) {
        Page<University> page = new Page<>(universitySearchDto.getPage(),universitySearchDto.getPageSize());
        PageHelper.startPage(universitySearchDto.getPage(),universitySearchDto.getPageSize());
        if(StringUtils.isNotBlank(universitySearchDto.getSearch())){
            universitySearchDto.setSearch("%"+universitySearchDto.getSearch()+"%");
        }
        List<University> 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<UniversityMajor> list) {
        universityMajorMapper.deleteByUniversityId(list.get(0).getUniversityId());
        List<UniversityMajor> 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<String ,String> map = new HashMap<>();
        map.put("major",major);
        map.put("id",id+"");
        return universityMajorMapper.selectIdByMajor(map);
    }
}