|
@@ -884,7 +884,14 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
|
return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "两次课程的时间需安排在七天内");
|
|
|
}
|
|
|
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserById(practiceGroupBuyParams.getStudentId());
|
|
|
+ studentDao.lockUser(practiceGroupBuyParams.getStudentId());
|
|
|
+
|
|
|
+ int studentTrialPracticeNum = practiceGroupDao.countStudentTrialPractices(practiceGroupBuyParams.getStudentId());
|
|
|
+ if(studentTrialPracticeNum>=3){
|
|
|
+ return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "指定的学生已存在三组试听课");
|
|
|
+ }
|
|
|
+
|
|
|
+ SysUser student = teacherDao.getUser(practiceGroupBuyParams.getStudentId());
|
|
|
|
|
|
Subject subject = subjectDao.get(practiceGroupBuyParams.getSubjectId());
|
|
|
if (Objects.isNull(subject)) {
|
|
@@ -909,14 +916,16 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
|
throw new BizException("课程开始时间不得小于当前时间");
|
|
|
}
|
|
|
|
|
|
- practiceGroupBuyParams.setName(subject.getName() + "•" + sysUser.getUsername());
|
|
|
+ practiceGroupBuyParams.setName(subject.getName() + "•" + student.getUsername());
|
|
|
|
|
|
TeacherFreeTime teacherFreeTime = teacherFreeTimeDao.findTeacherFreeTime(practiceGroupBuyParams.getUserId());
|
|
|
if (Objects.isNull(teacherFreeTime)) {
|
|
|
return BaseController.failed(HttpStatus.MULTIPLE_CHOICES,"抱歉啦,当前所选时段组合,「" + teacher.getRealName() + "」老师已被预约,请重新选择时段或更换老师后重试。");
|
|
|
}
|
|
|
|
|
|
- practiceGroupBuyParams.setOrganId(sysUser.getOrganId());
|
|
|
+ practiceGroupBuyParams.setCoursesStartDate(courseDates.get(0));
|
|
|
+ practiceGroupBuyParams.setCoursesExpireDate(DateUtil.addMinutes(courseDates.get(1),practiceCourseMinutes));
|
|
|
+ practiceGroupBuyParams.setOrganId(student.getOrganId());
|
|
|
practiceGroupBuyParams.setSingleClassMinutes(practiceCourseMinutes);
|
|
|
practiceGroupBuyParams.setGroupStatus(GroupStatusEnum.NORMAL);
|
|
|
practiceGroupBuyParams.setType(PracticeGroupType.TRIAL);
|
|
@@ -1058,6 +1067,46 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
|
}
|
|
|
return BaseController.failed(HttpStatus.FOUND, errMessage);
|
|
|
}
|
|
|
+
|
|
|
+ try{
|
|
|
+ DateTimeFormatter mmdd = DateTimeFormatter.ofPattern("M月d日");
|
|
|
+ DateTimeFormatter hhmm = DateTimeFormatter.ofPattern("H:mm");
|
|
|
+ LocalDateTime oneCourseStartTime = LocalDateTime.ofInstant(courseDates.get(0).toInstant(), DateUtil.zoneId);
|
|
|
+ String oneCourseMMdd=mmdd.format(oneCourseStartTime);
|
|
|
+ String oneCourseHHmm=hhmm.format(oneCourseStartTime);
|
|
|
+ String oneCourseStartTimeDayOfWeekName = DateUtil.weekNumNormalWeekNameMap.get(oneCourseStartTime.getDayOfWeek().getValue());
|
|
|
+ String oneCourseTimeStr = oneCourseMMdd + "(" + oneCourseStartTimeDayOfWeekName + ")" + oneCourseHHmm;
|
|
|
+ LocalDateTime twoCourseStartTime = LocalDateTime.ofInstant(courseDates.get(1).toInstant(), DateUtil.zoneId);
|
|
|
+ String twoCourseMMdd=mmdd.format(twoCourseStartTime);
|
|
|
+ String twoCourseHHmm=hhmm.format(twoCourseStartTime);
|
|
|
+ String twoCourseStartTimeDayOfWeekName = DateUtil.weekNumNormalWeekNameMap.get(twoCourseStartTime.getDayOfWeek().getValue());
|
|
|
+ String twoCourseTimeStr = twoCourseMMdd + "(" + twoCourseStartTimeDayOfWeekName + ")" + twoCourseHHmm;
|
|
|
+
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
+ userMap.put(practiceGroupBuyParams.getStudentId(), practiceGroupBuyParams.getStudentId().toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TRIAL_PRACTICE_CREATE_STUDENT_PUSH,
|
|
|
+ userMap, null, 0, null, "STUDENT", student.getUsername(), teacher.getRealName(),
|
|
|
+ oneCourseTimeStr, twoCourseTimeStr);
|
|
|
+// Map<Integer, String> userPhoneMap = new HashMap<>();
|
|
|
+// userPhoneMap.put(practiceGroupBuyParams.getStudentId(), student.getPhone());
|
|
|
+// sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TRIAL_PRACTICE_CREATE_STUDENT_PUSH,
|
|
|
+// userPhoneMap, null, 0, null, "STUDENT", student.getUsername(), teacher.getRealName(),
|
|
|
+// oneCourseTimeStr, twoCourseTimeStr);
|
|
|
+
|
|
|
+ Map<Integer, String> teacherMap = new HashMap<>();
|
|
|
+ teacherMap.put(practiceGroupBuyParams.getUserId(), practiceGroupBuyParams.getUserId().toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TRIAL_PRACTICE_CREATE_TEACHER_PUSH,
|
|
|
+ teacherMap, null, 0, null, "TEACHER", teacher.getRealName(), practiceGroupBuyParams.getName(),
|
|
|
+ oneCourseTimeStr, twoCourseTimeStr);
|
|
|
+// Map<Integer, String> teacherPhoneMap = new HashMap<>();
|
|
|
+// teacherPhoneMap.put(practiceGroupBuyParams.getUserId(), teacher.getPhone());
|
|
|
+// sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TRIAL_PRACTICE_CREATE_TEACHER_PUSH,
|
|
|
+// teacherPhoneMap, null, 0, null, "TEACHER", teacher.getRealName(), practiceGroupBuyParams.getName(),
|
|
|
+// oneCourseTimeStr, twoCourseTimeStr);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
return BaseController.succeed();
|
|
|
}
|
|
|
|