StudentServiceImpl.java 4.9 KB
package com.jevon.service.impl;

import com.jevon.mapper.StudentMapper;
import com.jevon.model.Student;
import com.jevon.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * @author chen
 * @version 1.0
 * @date 2019/10/18 0018 15:16
 */
@Service
public class StudentServiceImpl implements StudentService {

    @Autowired
    StudentMapper studentMapper;

    @Override
    public int insertBatch(List<Student> list) {
        int i = 0 ;
        List<Student> result = new ArrayList<>();
        for(Student student :list){
            i++ ;
            result.add(student);
            if(i % 100 == 0){
                studentMapper.insertBatch(result);
                result = new ArrayList<>();
            }
        }
        studentMapper.insertBatch(result);
        return  1 ;
    }

    @Override
    public List<Student> selectBySchoolName(int analyseId , List<String> league , String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        return studentMapper.selectByStudent(student);
    }

    @Override
    public List<Student> selectByClassName(int analyseId, String schoolName, String className) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setClassName(className);
        return studentMapper.selectByStudent(student);
    }

    @Override
    public int selectCountByScore(int analyseId,  List<String> league , String schoolName, double begin, double end) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setBegin(begin);
        student.setEnd(end);
        student.setSchoolNames(league);
        return studentMapper.selectCountByScore(student);
    }

    @Override
    public int selectCountBySchoolScore(int analyseId, String schoolName, String className, double begin, double end) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setClassName(className);
        student.setBegin(begin);
        student.setEnd(end);
        return studentMapper.selectCountByScore(student);    }

    @Override
    public List<String> selectClassNameBySchool(int analyseId, String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        return studentMapper.selectClassNameBySchool(student);
    }

    @Override
    public List<String> selectSchoolNameByAnalyse(int analyseId) {
        return studentMapper.selectSchoolNameByAnalyse(analyseId);
    }

    @Override
    public Double selectMaxScore(int analyseId,List<String> league , String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        return studentMapper.selectMaxScore(student);
    }

    @Override
    public Double selectMinScore(int analyseId, List<String> league ,String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        return studentMapper.selectMinScore(student);
    }

    @Override
    public Double selectAvgScore(int analyseId,List<String> league , String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        return studentMapper.selectAvgScore(student);
    }

    @Override
    public Double selectModeNumber(int analyseId,List<String> league , String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        List<Double> list = studentMapper.selectModeNumber(student);
        if(list.size() > 1){
            return null ;
        }else {
            return list.get(0);
        }
    }

    @Override
    public Double selectMedian(int analyseId,List<String> league , String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        return studentMapper.selectMedian(student);
    }

    @Override
    public Double selectStdev(int analyseId,List<String> league , String schoolName) {
        Student student = new Student();
        student.setAnalyseId(analyseId);
        student.setSchoolName(schoolName);
        student.setSchoolNames(league);
        return studentMapper.selectStdev(student);
    }
}