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 getAdminList(MessageSearchDto dto) { Page result = new Page<>(dto.getPage(), dto.getPageSize()); PageHelper.startPage(dto.getPage(), dto.getPageSize()); List 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 getAppList(PointSearchDto dto) { Page 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 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 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); } }