SubmitServiceImpl.java 3.72 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);
    }
}