package com.sincere.student.service.impl; import com.github.pagehelper.PageHelper; import com.sincere.student.dto.ColumnDto; import com.sincere.student.dto.ConsultSearchDto; import com.sincere.student.enums.ColumnEnums; import com.sincere.student.mapper.ColumnMapper; import com.sincere.student.mapper.UniversityConsultDetailMapper; import com.sincere.student.mapper.UniversityConsultMapper; import com.sincere.student.model.ColumnType; import com.sincere.student.model.Consult; import com.sincere.student.model.UniversityConsult; import com.sincere.student.model.UniversityConsultDetail; import com.sincere.student.service.ConsultService; 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.List; @Service public class ConsultServiceImpl implements ConsultService { @Autowired UniversityConsultMapper universityConsultMapper ; @Autowired UniversityConsultDetailMapper universityConsultDetailMapper ; @Autowired ColumnMapper columnMapper ; @Override public List selectByUniversityIdAndColumnType(int universityId, int columnType) { UniversityConsult consult = new UniversityConsult(); consult.setColumnType(columnType); consult.setUniversityId(universityId); return universityConsultMapper.selectByUniversityIdAndColumnType(consult); } @Override public Page getList(ConsultSearchDto consultSearchDto) { Page page = new Page<>(consultSearchDto.getPage(),consultSearchDto.getPageSize()); if(StringUtils.isNotBlank(consultSearchDto.getUniversityName())){ consultSearchDto.setUniversityName("%"+consultSearchDto.getUniversityName()+"%"); } if(StringUtils.isNotBlank(consultSearchDto.getMajorName())){ consultSearchDto.setMajorName("%"+consultSearchDto.getMajorName()+"%"); } PageHelper.startPage(consultSearchDto.getPage(),consultSearchDto.getPageSize()); List list =universityConsultMapper.getList(consultSearchDto) ; ColumnDto columnDto = new ColumnDto(); columnDto.setType(ColumnEnums.university.getType()); List columnTypes = columnMapper.getList(columnDto); for(Consult consult : list){ for(ColumnType columnType :columnTypes){ if(consult.getColumnType() == columnType.getId()){ consult.setColumnTypeName(columnType.getName()); } } } page.setList(list); page.setCount(universityConsultMapper.getListCount(consultSearchDto)); return page; } @Override public Page getColumnList(int columnType , int page ,int pageSize) { Page result = new Page<>(page,pageSize); PageHelper.startPage(page,pageSize); result.setList(universityConsultMapper.getColumnList(columnType)); result.setCount(universityConsultMapper.getColumnListCount(columnType)); return result; } @Override public Consult getDetail(int id) { Consult consult = universityConsultMapper.selectByPrimaryKey(id); consult.setList(universityConsultDetailMapper.selectByConsult(id)); return consult ; } @Override public int create(UniversityConsult consult) { universityConsultMapper.insert(consult); for(UniversityConsultDetail detail : consult.getList()){ detail.setConsultId(consult.getId()); universityConsultDetailMapper.insert(detail); } return consult.getId() ; } @Override public int update(UniversityConsult consult) { universityConsultMapper.updateByPrimaryKeySelective(consult); universityConsultDetailMapper.deleteByPrimaryKey(consult.getId()); for(UniversityConsultDetail detail : consult.getList()){ detail.setConsultId(consult.getId()); universityConsultDetailMapper.insert(detail); } return 1 ; } @Override public int delete(int id) { universityConsultMapper.deleteByPrimaryKey(id); universityConsultDetailMapper.deleteByPrimaryKey(id); return 1 ; } }