|
@@ -4,6 +4,9 @@ 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.StudentCourseHomeworkDto;
|
|
|
+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;
|
|
@@ -19,15 +22,14 @@ import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.common.page.QueryInfo;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
-import com.ym.mec.util.date.DateUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
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 {
|
|
@@ -94,16 +96,16 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
|
|
|
CourseScheduleReview review = courseScheduleReviewDao.findByCourseScheduleAndStudent(bean.getCourseScheduleId(), bean.getUserId());
|
|
|
if (Objects.nonNull(review)) {
|
|
|
review.setHandHomework(YesOrNoEnum.YES.getCode());
|
|
|
+ courseScheduleReviewDao.update(review);
|
|
|
}
|
|
|
- courseScheduleReviewDao.update(review);
|
|
|
}
|
|
|
|
|
|
- Map<Integer, String> userMap = new HashMap<>();
|
|
|
- userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
|
|
|
- SysUser user = teacherDao.getUser(bean.getUserId());
|
|
|
- String notifyUrl = "9?courseScheduleID=" + bean.getId() + "&userId=" + bean.getUserId() + "&studentCourseHomeworkId=" + bean.getId();
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,
|
|
|
- userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
|
|
|
+// Map<Integer, String> userMap = new HashMap<>();
|
|
|
+// userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
|
|
|
+// SysUser user = teacherDao.getUser(bean.getUserId());
|
|
|
+// String notifyUrl = "9?courseScheduleID=" + bean.getId() + "&userId=" + bean.getUserId() + "&studentCourseHomeworkId=" + bean.getId();
|
|
|
+// sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,
|
|
|
+// userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
|
|
|
courseHomeworkService.update(courseHomework);
|
|
|
}
|
|
|
|
|
@@ -112,7 +114,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
|
|
@@ -162,12 +176,12 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo<StudentCourseHomework> findStudentCourseHomeworks(QueryInfo queryInfo) {
|
|
|
- PageInfo<StudentCourseHomework> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ public PageInfo<StudentCourseHomeworkDto> findStudentCourseHomeworks(QueryInfo queryInfo) {
|
|
|
+ PageInfo<StudentCourseHomeworkDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
- List<StudentCourseHomework> dataList = null;
|
|
|
+ List<StudentCourseHomeworkDto> dataList = null;
|
|
|
int count = studentCourseHomeworkDao.countStudentCourseHomeworks(params);
|
|
|
if (count > 0) {
|
|
|
pageInfo.setTotal(count);
|
|
@@ -180,4 +194,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;
|
|
|
+ }
|
|
|
}
|