package com.sincere.student.service.impl; import com.github.pagehelper.PageHelper; import com.sincere.student.dto.yx.AddYxSchoolConsultVo; import com.sincere.student.dto.yx.AddYxSchoolVo; import com.sincere.student.mapper.SysYxColumnTypeMapper; import com.sincere.student.mapper.SysYxSchoolConsultMapper; import com.sincere.student.mapper.SysYxSchoolMapper; import com.sincere.student.model.ColumnType; import com.sincere.student.model.yx.SysYxColumnType; import com.sincere.student.model.yx.SysYxSchool; import com.sincere.student.model.yx.SysYxSchoolConsult; import com.sincere.student.service.SysYxColumnService; import com.sincere.student.utils.Page; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; @Service public class SysYxColumnServiceImpl implements SysYxColumnService { @Autowired SysYxSchoolMapper sysYxSchoolMapper; @Autowired SysYxColumnTypeMapper sysYxColumnTypeMapper; @Autowired SysYxSchoolConsultMapper sysYxSchoolConsultMapper; @Override public Page schoolList(AddYxSchoolVo vo) { Page result = new Page<>(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize()); List list = sysYxSchoolMapper.selectList(vo); result.setList(list); result.setCount(sysYxSchoolMapper.getListCount(vo)); return result; } @Override public void addSchool(AddYxSchoolVo vo) { SysYxSchool school = new SysYxSchool(); BeanUtils.copyProperties(vo,school); school.setCreateTime(new Date()); if(vo.getId()==null){ school.setId(null); sysYxSchoolMapper.insertSelective(school); }else{ sysYxSchoolMapper.updateByPrimaryKeySelective(school); } } @Override public void delSchool(Integer id) { sysYxSchoolMapper.deleteByPrimaryKey(id); } @Override public void addColumnType(ColumnType columnType) { Integer type = columnType.getType(); Integer sort = columnType.getSort(); String name = columnType.getName(); SysYxColumnType sysYxColumnType = new SysYxColumnType(); sysYxColumnType.setColumnType(type); sysYxColumnType.setColumnName(name); sysYxColumnType.setSort(sort); sysYxColumnType.setCreateTime(new Date()); List countList = sysYxColumnTypeMapper.countSort(sort.intValue(), type.intValue(), 1, null); if (!CollectionUtils.isEmpty(countList)) { int i = 1; for (SysYxColumnType oldType : countList) { int addSort = i + sort; if (addSort > oldType.getSort()) { //若已存在自增1 oldType.setSort(oldType.getSort() + 1); sysYxColumnTypeMapper.updateByPrimaryKeySelective(oldType); } i++; } } sysYxColumnTypeMapper.insertSelective(sysYxColumnType); } @Override public void updateColumnType(ColumnType columnType) { SysYxColumnType sysYxColumnType = sysYxColumnTypeMapper.selectByPrimaryKey(columnType.getId()); if(sysYxColumnType==null){ return; } Integer type = columnType.getType(); Integer sort = columnType.getSort(); String name = columnType.getName(); SysYxColumnType newType = new SysYxColumnType(); newType.setColumnType(type); newType.setColumnName(name); newType.setSort(sort); newType.setCreateTime(new Date()); List countList = sysYxColumnTypeMapper.countSort(sort.intValue(), type.intValue(), 2, columnType.getId()); if (!CollectionUtils.isEmpty(countList)) { int i = 1; for (SysYxColumnType oldType : countList) { int addSort = i + sort; if (addSort > oldType.getSort()) { //若已存在自增1 oldType.setSort(oldType.getSort() + 1); sysYxColumnTypeMapper.updateByPrimaryKeySelective(oldType); } i++; } } sysYxColumnType.setId(columnType.getId()); sysYxColumnTypeMapper.updateByPrimaryKeySelective(sysYxColumnType); } @Override public void delColumnType(Integer id) { } @Override public void createConsult(AddYxSchoolConsultVo schoolConsultVo) { //排序 Integer sort = schoolConsultVo.getSort(); SysYxSchoolConsult consult = new SysYxSchoolConsult(); BeanUtils.copyProperties(schoolConsultVo,consult); List consultList = null; if(schoolConsultVo.getId() != null){ consultList = sysYxSchoolConsultMapper.countSort(sort.intValue(), 2, schoolConsultVo.getId()); }else{ consultList = sysYxSchoolConsultMapper.countSort(sort.intValue(), 1, null); } if (!CollectionUtils.isEmpty(consultList)) { int i = 1; for (SysYxSchoolConsult oldConsult : consultList) { int addSort = i + sort; if (addSort > oldConsult.getSort()) { //若已存在自增1 oldConsult.setSort(oldConsult.getSort() + 1); sysYxSchoolConsultMapper.updateSort(oldConsult); } i++; } } if(schoolConsultVo.getId() != null){ sysYxSchoolConsultMapper.updateByPrimaryKeySelective(consult); }else { consult.setId(null); consult.setStatus(1); sysYxSchoolConsultMapper.insertSelective(consult); } } @Override public void delConsult(Integer id) { sysYxSchoolConsultMapper.deleteByPrimaryKey(id); } @Override public SysYxSchoolConsult getConsultDetail(Integer id) { return sysYxSchoolConsultMapper.selectByPrimaryKey(id); } @Override public void updateRead(Integer id) { SysYxSchoolConsult consult = sysYxSchoolConsultMapper.selectByPrimaryKey(id); if(consult!=null){ int num = consult.getReadNumber(); num = num+1; consult.setReadNumber(num); sysYxSchoolConsultMapper.updateByPrimaryKeySelective(consult); } } @Override public Page consultList(AddYxSchoolConsultVo vo) { Page result = new Page<>(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize()); List list = sysYxSchoolConsultMapper.selectList(vo); result.setList(list); result.setCount(sysYxSchoolConsultMapper.getListCount(vo)); return result; } }