SubmitServiceImpl.java 3.7 KB
package com.sincere.student.service.impl;

import com.github.pagehelper.PageHelper;
import com.sincere.student.dto.MessageSearchDto;
import com.sincere.student.dto.PointSearchDto;
import com.sincere.student.dto.submit.SubmitLine;
import com.sincere.student.mapper.UniversityPointMapper;
import com.sincere.student.mapper.UniversitySubmitFileMapper;
import com.sincere.student.model.Point;
import com.sincere.student.model.SubmitFile;
import com.sincere.student.service.SubmitService;
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.List;

@Service
public class SubmitServiceImpl implements SubmitService {

    @Autowired
    UniversityPointMapper pointMapper ;

    @Autowired
    UniversitySubmitFileMapper submitFileMapper ;

    @Override
    public Page<SubmitFile> getAdminList(MessageSearchDto dto) {
        Page<SubmitFile> result = new Page<>(dto.getPage(),dto.getPageSize());
        PageHelper.startPage(dto.getPage(),dto.getPageSize());
        List<SubmitFile> list = submitFileMapper.getList(dto) ;
        for(SubmitFile submitFile : list){
            String fileName = submitFile.getFileUrl().substring(submitFile.getFileUrl().lastIndexOf("/")+1);
            submitFile.setFileName(fileName);
        }
        result.setList(list);
        result.setCount(submitFileMapper.getListCount(dto));
        return result;
    }

    @Override
    public Page<SubmitLine> getAppList(PointSearchDto dto) {
        Page<SubmitLine> result = new Page<>(dto.getPage(),dto.getPageSize());
        if(StringUtils.isNotBlank(dto.getMajorName())){
            dto.setMajorName("%"+dto.getMajorName()+"%");
        }
        if(StringUtils.isNotBlank(dto.getUniversityName())){
            dto.setUniversityName("%"+dto.getUniversityName()+"%");
        }
        PageHelper.startPage(dto.getPage(),dto.getPageSize());
        result.setList(submitFileMapper.getAppList(dto));
        result.setCount(submitFileMapper.getAppListCount(dto));
        return result;
    }

    @Override
    public int create(SubmitFile submitFile) {
        submitFileMapper.insert(submitFile);
        int i = 0 ;
        List<Point> list = new ArrayList<>();
        for(Point point :submitFile.getList()){
            point.setSubmitId(submitFile.getId());
            i++ ;
            list.add(point);
            if(i % 100 == 0){
                pointMapper.insertBatch(list);
                list = new ArrayList<>();
            }
        }
        if(list.size() > 0){
            pointMapper.insertBatch(list);
        }
        return 1;
    }

    @Override
    public int delete(int id) {
        submitFileMapper.deleteByPrimaryKey(id);
        pointMapper.deleteBySubmit(id);
        return 1;
    }

    @Override
    public int update(SubmitFile submitFile){
        if (StringUtils.isNotBlank(submitFile.getFileUrl())) {
            int i = 0;
            pointMapper.deleteBySubmit(submitFile.getId());
            List<Point> list = new ArrayList<>();
            for (Point point : submitFile.getList()) {
                point.setSubmitId(submitFile.getId());
                i++;
                list.add(point);
                if (i % 100 == 0) {
                    pointMapper.insertBatch(list);
                    list = new ArrayList<>();
                }
            }
            if (list.size() > 0) {
                pointMapper.insertBatch(list);
            }
        }
        return submitFileMapper.updateByPrimaryKeySelective(submitFile);
    }

    @Override
    public SubmitFile getById(int id) {
        return submitFileMapper.selectByPrimaryKey(id);
    }
}