|
@@ -2,7 +2,9 @@ package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
|
|
|
+import com.ym.mec.biz.dal.dao.StudentRepairDao;
|
|
|
import com.ym.mec.biz.dal.dao.StudentVisitDao;
|
|
|
+import com.ym.mec.biz.dal.dto.BasicUserDto;
|
|
|
import com.ym.mec.biz.dal.dto.PageInfoDegree;
|
|
|
import com.ym.mec.biz.dal.dto.StudentVisitDto;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
@@ -20,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVisit> implements StudentVisitService {
|
|
@@ -30,6 +33,8 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
|
|
|
private StudentRegistrationDao studentRegistrationDao;
|
|
|
@Autowired
|
|
|
private MusicGroupDao musicGroupDao;
|
|
|
+ @Autowired
|
|
|
+ private StudentRepairDao studentRepairDao;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -87,4 +92,31 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
|
|
|
public List<MusicGroup> getMusicGroup(Integer teacherId) {
|
|
|
return musicGroupDao.getTeacherMusicGroup(teacherId);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<BasicUserDto> getStudents(StudentVisitQueryInfo queryInfo) {
|
|
|
+ PageInfo<BasicUserDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+ List<BasicUserDto> dataList = new ArrayList<>();
|
|
|
+ int count = studentVisitDao.getStudentsCount(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = studentVisitDao.getStudents(params);
|
|
|
+ Set<Integer> userIds = dataList.stream().map(BasicUserDto::getUserId).collect(Collectors.toSet());
|
|
|
+ List<MusicGroup> musicGroups = studentRepairDao.getUserMusicGroup(userIds);
|
|
|
+ Map<Integer, List<MusicGroup>> userMusicGroup = musicGroups.stream().collect(Collectors.groupingBy(MusicGroup::getRepairUserId));
|
|
|
+ for (BasicUserDto basicUserDto : dataList) {
|
|
|
+ if (!userMusicGroup.containsKey(basicUserDto.getUserId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ MusicGroup musicGroup = userMusicGroup.get(basicUserDto.getUserId()).get(0);
|
|
|
+ basicUserDto.setMusicGroupId(musicGroup.getId());
|
|
|
+ basicUserDto.setMusicGroupName(musicGroup.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
}
|