Browse Source

云教练作业布置优化

zouxuan 3 years ago
parent
commit
a06ccf39a5

+ 42 - 71
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -1,37 +1,32 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.*;
-import java.util.stream.Collectors;
-
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
-import com.ym.mec.biz.service.*;
-import com.ym.mec.common.entity.ImPrivateMessage;
-import com.ym.mec.common.entity.ImTxtMessage;
-import com.ym.mec.im.ImFeignService;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Isolation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseReview4EduQueryInfo;
 import com.ym.mec.biz.dal.page.CourseReviewQueryInfo;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseScheduleReview> implements CourseReviewService {
@@ -71,9 +66,6 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     private SysMessageService sysMessageService;
 
     @Autowired
-    private ImFeignService imFeignService;
-
-    @Autowired
     private TeacherDao teacherDao;
 
     @Autowired
@@ -546,7 +538,9 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         studentDao.lockUser(courseSchedule.getActualTeacherId());
 
         CourseHomework existHomework = courseHomeworkDao.findByCourseSchedule(courseHomeworkInfo.getCourseScheduleId());
-
+        if(existHomework != null){
+            throw new BizException("作业已布置");
+        }
         //新增课堂作业
         CourseHomework courseHomework = new CourseHomework();
         List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
@@ -561,23 +555,16 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 //            }
 //        }
 
-        if (Objects.nonNull(existHomework)) {
-            courseHomework.setId(existHomework.getId());
-            courseHomework.setContent(content);
-            courseHomework.setExpiryDate(expiryDate);
-            courseHomeworkService.update(courseHomework);
-        } else {
-            courseHomework.setContent(content);
-            courseHomework.setCourseScheduleId(courseSchedule.getId());
-            courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());
-            courseHomework.setGroupType(courseSchedule.getGroupType());
-            courseHomework.setClassGroupId(courseSchedule.getClassGroupId());
-            courseHomework.setExpiryDate(expiryDate);
-            courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments) ? 0 : courseScheduleStudentPayments.size());
-            courseHomeworkService.insert(courseHomework);
-        }
+        courseHomework.setContent(content);
+        courseHomework.setCourseScheduleId(courseSchedule.getId());
+        courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());
+        courseHomework.setGroupType(courseSchedule.getGroupType());
+        courseHomework.setClassGroupId(courseSchedule.getClassGroupId());
+        courseHomework.setExpiryDate(expiryDate);
+        courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments) ? 0 : courseScheduleStudentPayments.size());
+        courseHomeworkService.insert(courseHomework);
 
-        /*List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
+        List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
 
         //获取按学员声部发放的作业
         List<MusicScoreSubjectDto> musicScoreSubjectDto = courseHomework.getMusicScoreSubjectDto();
@@ -596,46 +583,30 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         }
         if(CollectionUtils.isEmpty(studentCourseHomeworks)){
             throw new BizException("此课程没有学生");
-        }*/
-
-        if (!CollectionUtils.isEmpty(courseScheduleStudentPayments)) {
-            Teacher teacher = teacherDao.get(courseSchedule.getActualTeacherId());
-            String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 3), "MM月dd日");
-            for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
-                StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
-                if (Objects.isNull(existHomework)) {
-                    studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
-                    studentCourseHomework.setUserId(courseScheduleStudentPayment.getUserId());
-//                    studentCourseHomework.setMusicScoreId(musicScoreId);
-                    studentCourseHomework.setCourseScheduleId(courseSchedule.getId());
-                    studentCourseHomework.setCreateTime(date);
-                    studentCourseHomework.setUpdateTime(date);
-                    studentCourseHomework.setStatus(YesOrNoEnum.NO);
-                    studentCourseHomework.setIsView(YesOrNoEnum.NO);
-                    studentCourseHomework.setIsReplied(YesOrNoEnum.NO);
-                    studentCourseHomework.setIsRepliedTimely(0);
-                    studentCourseHomeworkDao.insert(studentCourseHomework);
-                } else {
-                    studentCourseHomework = studentCourseHomeworkDao.findByStudentAndCourseHomewok(existHomework.getId(), courseScheduleStudentPayment.getUserId());
-                }
+        }
+        courseHomeworkService.update(courseHomework);
 
-                Map<Integer, String> userMap = new HashMap<>();
-                userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
-                String notifyUrl = "?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
-                String extra = "dayaedu" + notifyUrl + "&userId=" + courseScheduleStudentPayment.getUserId();
+        studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
+        List<Integer> studentIds = studentCourseHomeworks.stream().map(StudentCourseHomework::getUserId).collect(Collectors.toList());
 
-                sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseSchedule.getActualTeacherId().toString(), extra,
-                        new String[]{courseScheduleStudentPayment.getUserId().toString()},
-                        null, courseSchedule.getName(), dateStr, courseHomework.getContent());
+        Teacher teacher = teacherDao.get(courseSchedule.getActualTeacherId());
+        studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), studentIds, teacher.getId());
 
-                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REMIND,
-                        userMap, null, 0, 3 + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
-            }
 
-            List<Integer> studentIds = courseScheduleStudentPayments.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toList());
-            studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), studentIds, courseSchedule.getActualTeacherId());
-        }
+        String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 3), "MM月dd日");
+        for (StudentCourseHomework studentCourseHomework : studentCourseHomeworks) {
+            Map<Integer, String> userMap = new HashMap<>();
+            userMap.put(studentCourseHomework.getUserId(), studentCourseHomework.getUserId().toString());
+            String notifyUrl = "?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
+            String extra = "dayaedu" + notifyUrl + "&userId=" + studentCourseHomework.getUserId();
 
+            sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseSchedule.getActualTeacherId().toString(), extra,
+                    new String[]{studentCourseHomework.getUserId().toString()},
+                    null, courseSchedule.getName(), dateStr, courseHomework.getContent());
+
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REMIND,
+                    userMap, null, 0, 3 + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
+        }
         return courseHomework;
     }