|
@@ -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;
|
|
|
+ }
|
|
|
}
|