| 
					
				 | 
			
			
				@@ -4,6 +4,8 @@ import com.ym.mec.auth.api.client.SysUserFeignService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.dto.SimpleUserDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.CourseHomework; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.CourseSchedule; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.CourseScheduleReview; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,6 +30,7 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, StudentCourseHomework> implements StudentCourseHomeworkService { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,7 +115,19 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Objects.isNull(courseScheduleID)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new BizException("作业不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID, userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CourseHomeworkStudentDetailDto courseHomeworkStudentDetail = studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID, userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(Objects.nonNull(courseHomeworkStudentDetail)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SysUser student = teacherDao.getUser(userId.intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseHomeworkStudentDetail.setStudentId(userId.intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseHomeworkStudentDetail.setStudentName(student.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CourseSchedule courseSchedule = courseScheduleDao.get(courseHomeworkStudentDetail.getCourseScheduleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Objects.nonNull(courseSchedule)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SysUser teacher = teacherDao.getUser(courseSchedule.getActualTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseHomeworkStudentDetail.setTeacherId(courseSchedule.getActualTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseHomeworkStudentDetail.setTeacherName(teacher.getRealName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return courseHomeworkStudentDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -180,4 +195,30 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pageInfo.setRows(dataList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return pageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PageInfo findStudentHomeworkRecord(CourseHomeworkQueryInfo queryInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PageInfo<StudentHomeworkRecordDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> params = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MapUtil.populateMap(params, queryInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<StudentHomeworkRecordDto> dataList = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int count = studentCourseHomeworkDao.countStudentHomeworkRecord(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (count > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pageInfo.setTotal(count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            params.put("offset", pageInfo.getOffset()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataList = studentCourseHomeworkDao.findStudentHomeworkRecord(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Integer> teacherIds = dataList.stream().map(StudentHomeworkRecordDto::getTeacherId).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<SimpleUserDto> teachers = teacherDao.findSimpleTeachers(teacherIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<Integer, String> idNameMap = teachers.stream().collect(Collectors.toMap(SimpleUserDto::getUserId, u -> u.getUserName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (StudentHomeworkRecordDto studentHomeworkRecordDto : dataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                studentHomeworkRecordDto.setTeacherName(idNameMap.get(studentHomeworkRecordDto.getTeacherId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (count == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageInfo.setRows(dataList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |