|  | @@ -11,6 +11,7 @@ import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  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.common.entity.ImPrivateMessage;
 | 
	
	
		
			
				|  | @@ -24,15 +25,6 @@ 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.entity.ClassGroup;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.CourseHomework;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.PracticeGroup;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.CourseReview4EduQueryInfo;
 | 
	
	
		
			
				|  | @@ -104,7 +96,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |      private SysConfigDao sysConfigDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private RedisCache<String, Object> redisCache;
 | 
	
		
			
				|  |  | +    private VipGroupDao vipGroupDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public BaseDAO<Integer, CourseScheduleReview> getDAO() {
 | 
	
	
		
			
				|  | @@ -114,7 +106,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public PageInfo<CourseReviewDto> findPracticeGroupReviews(CourseReviewQueryInfo queryInfo) {
 | 
	
		
			
				|  |  | -        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  | +        PageInfo<CourseReviewDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  |          Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |          MapUtil.populateMap(params, queryInfo);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -145,7 +137,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public PageInfo<CourseScheduleReview> findPracticeGroupReviews4Edu(CourseReview4EduQueryInfo queryInfo) {
 | 
	
		
			
				|  |  | -        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  | +        PageInfo<CourseScheduleReview> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  |          Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |          MapUtil.populateMap(params, queryInfo);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -178,15 +170,24 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          studentDao.lockUser(courseScheduleReview.getTeacherId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
 | 
	
		
			
				|  |  | +        Integer studentId = null;
 | 
	
		
			
				|  |  | +        Integer educationalTeacherId = null;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        CourseScheduleReview hasReview = courseScheduleReviewDao.findByCourseScheduleAndStudent(courseScheduleId.longValue(), practiceGroup.getStudentId());
 | 
	
		
			
				|  |  | +        if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.PRACTICE)) {
 | 
	
		
			
				|  |  | +            PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
 | 
	
		
			
				|  |  | +            studentId = practiceGroup.getStudentId();
 | 
	
		
			
				|  |  | +            educationalTeacherId = practiceGroup.getEducationalTeacherId();
 | 
	
		
			
				|  |  | +        } else if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.VIP)) {
 | 
	
		
			
				|  |  | +            VipGroup vipGroup = vipGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
 | 
	
		
			
				|  |  | +            educationalTeacherId = vipGroup.getEducationalTeacherId();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        CourseScheduleReview hasReview = courseScheduleReviewDao.findByCourseScheduleAndStudent(courseScheduleId.longValue(), studentId);
 | 
	
		
			
				|  |  |          if (hasReview != null) {
 | 
	
		
			
				|  |  |              throw new BizException("评论已提交,请勿重复提交");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          courseScheduleReview.setClassGroupId(courseSchedule.getClassGroupId());
 | 
	
		
			
				|  |  | -        courseScheduleReview.setEducationalTeacherId(practiceGroup.getEducationalTeacherId());
 | 
	
		
			
				|  |  | -        courseScheduleReview.setStudentId(practiceGroup.getStudentId());
 | 
	
		
			
				|  |  | +        courseScheduleReview.setEducationalTeacherId(educationalTeacherId);
 | 
	
		
			
				|  |  | +        courseScheduleReview.setStudentId(studentId);
 | 
	
		
			
				|  |  |          courseScheduleReview.setCreateTime(date);
 | 
	
		
			
				|  |  |          courseScheduleReview.setUpdateTime(date);
 | 
	
		
			
				|  |  |          long num = courseScheduleReviewDao.insert(courseScheduleReview);
 | 
	
	
		
			
				|  | @@ -201,12 +202,12 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |              CourseHomework courseHomework = new CourseHomework();
 | 
	
		
			
				|  |  |              List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if(Objects.nonNull(existHomework)){
 | 
	
		
			
				|  |  | +            if (Objects.nonNull(existHomework)) {
 | 
	
		
			
				|  |  |                  courseHomework.setId(existHomework.getId());
 | 
	
		
			
				|  |  |                  courseHomework.setContent(courseScheduleReview.getHomeWork());
 | 
	
		
			
				|  |  |                  courseHomework.setExpiryDate(DateUtil.addDays(date, 7));
 | 
	
		
			
				|  |  |                  courseHomeworkService.update(courseHomework);
 | 
	
		
			
				|  |  | -            }else{
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  courseHomework.setContent(courseScheduleReview.getHomeWork());
 | 
	
		
			
				|  |  |                  courseHomework.setCourseScheduleId(courseSchedule.getId());
 | 
	
		
			
				|  |  |                  courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());
 | 
	
	
		
			
				|  | @@ -223,7 +224,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |                  String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 3), "MM月dd日");
 | 
	
		
			
				|  |  |                  for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
 | 
	
		
			
				|  |  |                      StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
 | 
	
		
			
				|  |  | -                    if(Objects.isNull(existHomework)){
 | 
	
		
			
				|  |  | +                    if (Objects.isNull(existHomework)) {
 | 
	
		
			
				|  |  |                          studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
 | 
	
		
			
				|  |  |                          studentCourseHomework.setUserId(courseScheduleStudentPayment.getUserId());
 | 
	
		
			
				|  |  |                          studentCourseHomework.setCourseScheduleId(courseSchedule.getId());
 | 
	
	
		
			
				|  | @@ -234,7 +235,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |                          studentCourseHomework.setIsReplied(YesOrNoEnum.NO);
 | 
	
		
			
				|  |  |                          studentCourseHomework.setIsRepliedTimely(0);
 | 
	
		
			
				|  |  |                          studentCourseHomeworkDao.insert(studentCourseHomework);
 | 
	
		
			
				|  |  | -                    }else{
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  |                          studentCourseHomework = studentCourseHomeworkDao.findByStudentAndCourseHomewok(existHomework.getId(), courseScheduleStudentPayment.getUserId());
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -242,17 +243,17 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |                      userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
 | 
	
		
			
				|  |  |                      String notifyUrl = "?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
 | 
	
		
			
				|  |  |                      String extra = "dayaedu" + notifyUrl + "&userId=" + courseScheduleStudentPayment.getUserId();
 | 
	
		
			
				|  |  | -                    if (courseScheduleReview.getMsgType() != ImSendTypeEnum.TXT){
 | 
	
		
			
				|  |  | -                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND_DETAIL,courseScheduleReview.getTeacherId().toString(),extra,
 | 
	
		
			
				|  |  | +                    if (courseScheduleReview.getMsgType() != ImSendTypeEnum.TXT) {
 | 
	
		
			
				|  |  | +                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND_DETAIL, courseScheduleReview.getTeacherId().toString(), extra,
 | 
	
		
			
				|  |  |                                  new String[]{courseScheduleStudentPayment.getUserId().toString()},
 | 
	
		
			
				|  |  | -                                null,courseSchedule.getName(), dateStr,courseHomework.getContent());
 | 
	
		
			
				|  |  | -                    }else {
 | 
	
		
			
				|  |  | -                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND,courseScheduleReview.getTeacherId().toString(),extra,
 | 
	
		
			
				|  |  | +                                null, courseSchedule.getName(), dateStr, courseHomework.getContent());
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseScheduleReview.getTeacherId().toString(), extra,
 | 
	
		
			
				|  |  |                                  new String[]{courseScheduleStudentPayment.getUserId().toString()},
 | 
	
		
			
				|  |  | -                                null,courseSchedule.getName(), dateStr,courseHomework.getContent());
 | 
	
		
			
				|  |  | +                                null, courseSchedule.getName(), dateStr, courseHomework.getContent());
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
 | 
	
		
			
				|  |  | -                            userMap, null, 0, 3+notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
 | 
	
		
			
				|  |  | +                            userMap, null, 0, 3 + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -273,10 +274,9 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |          TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseScheduleReview.getCourseScheduleId());
 | 
	
		
			
				|  |  |          courseScheduleReview.setTeacherName(teacherClassGroupInfo.getBishopTeacher());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleReview.getCourseScheduleId().longValue());
 | 
	
		
			
				|  |  | -        if (courseSchedule.getGroupType().equals(GroupType.PRACTICE)) {
 | 
	
		
			
				|  |  | -            PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(courseSchedule.getMusicGroupId()));
 | 
	
		
			
				|  |  | -            courseScheduleReview.setEduTeacherName(practiceGroup.getEduTeacherName());
 | 
	
		
			
				|  |  | +        if (courseScheduleReview.getEducationalTeacherId() != null) {
 | 
	
		
			
				|  |  | +            SysUser user = teacherDao.getUser(courseScheduleReview.getEducationalTeacherId());
 | 
	
		
			
				|  |  | +            courseScheduleReview.setEduTeacherName(user.getRealName());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
 | 
	
	
		
			
				|  | @@ -508,4 +508,99 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return reviewInfoDto;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public PageInfo<CourseReviewDto> findOnlineCourseReviews(CourseReviewQueryInfo queryInfo) {
 | 
	
		
			
				|  |  | +        PageInfo<CourseReviewDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  | +        Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  | +        MapUtil.populateMap(params, queryInfo);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<CourseReviewDto> dataList = null;
 | 
	
		
			
				|  |  | +        int count = courseScheduleReviewDao.countOnlineCourseReviews(params);
 | 
	
		
			
				|  |  | +        if (count > 0) {
 | 
	
		
			
				|  |  | +            pageInfo.setTotal(count);
 | 
	
		
			
				|  |  | +            params.put("offset", pageInfo.getOffset());
 | 
	
		
			
				|  |  | +            dataList = courseScheduleReviewDao.getOnlineCourseReviewList(params);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (count == 0) {
 | 
	
		
			
				|  |  | +            dataList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        pageInfo.setRows(dataList);
 | 
	
		
			
				|  |  | +        return pageInfo;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 | 
	
		
			
				|  |  | +    public CourseHomework addHomeWork(Integer courseScheduleId, String content, Date expiryDate) {
 | 
	
		
			
				|  |  | +        if (StringUtils.isBlank(content)) {
 | 
	
		
			
				|  |  | +            throw new BizException("作业内容不能为空");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (courseScheduleId == null || courseScheduleId <= 0) {
 | 
	
		
			
				|  |  | +            throw new BizException("课程id必须大于0");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Date date = new Date();
 | 
	
		
			
				|  |  | +        CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
 | 
	
		
			
				|  |  | +        if (courseSchedule == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("课程不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        studentDao.lockUser(courseSchedule.getActualTeacherId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        CourseHomework existHomework = courseHomeworkDao.findByCourseSchedule(courseScheduleId.longValue());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //新增课堂作业
 | 
	
		
			
				|  |  | +        CourseHomework courseHomework = new CourseHomework();
 | 
	
		
			
				|  |  | +        List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        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);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        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.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());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                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();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseSchedule.getActualTeacherId().toString(), extra,
 | 
	
		
			
				|  |  | +                        new String[]{courseScheduleStudentPayment.getUserId().toString()},
 | 
	
		
			
				|  |  | +                        null, courseSchedule.getName(), dateStr, courseHomework.getContent());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
 | 
	
		
			
				|  |  | +                        userMap, null, 0, 3 + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return courseHomework;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |