|
@@ -154,7 +154,9 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
Teacher teacher = teacherService.getById(teacherUser.getId());
|
|
|
|
|
|
if (teacher != null) {
|
|
|
- result.setTeacherTag(teacher.getTag());
|
|
|
+ result.setDegreeFlag(teacher.getDegreeFlag());
|
|
|
+ result.setTeacherFlag(teacher.getTeacherFlag());
|
|
|
+
|
|
|
}
|
|
|
result.setTeacherName(teacherUser.getRealName());
|
|
|
result.setUserName(teacherUser.getUsername());
|
|
@@ -1128,14 +1130,15 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
}
|
|
|
courseGroupList.forEach(courseGroup -> {
|
|
|
try {
|
|
|
+ List<CourseScheduleStudentPayment> list = courseScheduleStudentPaymentService.list(Wrappers.<CourseScheduleStudentPayment>lambdaQuery()
|
|
|
+ .eq(CourseScheduleStudentPayment::getCourseGroupId, courseGroup.getId()));
|
|
|
+ Set<Long> userIds = list.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toSet());
|
|
|
if (courseGroup.getPreStudentNum() >= courseGroup.getMixStudentNum() &&courseGroup.getStatus().equals(CourseGroupEnum.APPLY.getCode())) {
|
|
|
//人数达标则修改课程组为进行中状态
|
|
|
courseGroup.setStatus(CourseGroupEnum.ING.getCode());
|
|
|
//创建群聊 并添加人员到群中
|
|
|
String imGroupId = imGroupService.autoCreate(courseGroup.getId(), courseGroup.getType());
|
|
|
- List<CourseScheduleStudentPayment> list = courseScheduleStudentPaymentService.list(Wrappers.<CourseScheduleStudentPayment>lambdaQuery()
|
|
|
- .eq(CourseScheduleStudentPayment::getCourseGroupId, courseGroup.getId()));
|
|
|
- Set<Long> userIds = list.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toSet());
|
|
|
+
|
|
|
imGroupMemberService.initGroupMembers(imGroupId, userIds, ImGroupMemberRoleType.STUDENT);
|
|
|
//添加老师进群
|
|
|
imGroupMemberService.initGroupMembers(imGroupId, Collections.singleton(courseGroup.getTeacherId()), ImGroupMemberRoleType.TEACHER);
|
|
@@ -1148,8 +1151,12 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
.eq(CourseSchedule::getCourseGroupId, courseGroup.getId())
|
|
|
.set(CourseSchedule::getStatus, CourseScheduleEnum.CANCEL.getCode())
|
|
|
);
|
|
|
- //直播课成课失败发送消息
|
|
|
+ // 老师直播课成课失败发送消息
|
|
|
this.sendMessage(courseGroup);
|
|
|
+
|
|
|
+ // 学生直播课成课失败发送消息
|
|
|
+ this.sendStudentMessage(userIds,courseGroup);
|
|
|
+
|
|
|
//退款
|
|
|
this.refund(courseGroup);
|
|
|
}
|
|
@@ -1162,6 +1169,32 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ private void sendStudentMessage(Set<Long> userIds, CourseGroup courseGroup) {
|
|
|
+ for (Long userId : userIds) {
|
|
|
+
|
|
|
+ SysUser user = sysUserFeignService.queryUserById(userId);
|
|
|
+ // 发短信
|
|
|
+ try {
|
|
|
+ Map<Long, String> receivers = new HashMap<>();
|
|
|
+ receivers.put(user.getId(), user.getPhone());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_STUDENT_LIVE_COMPLETION_FAIL,
|
|
|
+ receivers, null, 0, null, null, courseGroup.getName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("学生直播课成课失败短信发送失败,{}", e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发推送
|
|
|
+ try {
|
|
|
+ Map<Long, String> receivers = new HashMap<>();
|
|
|
+ receivers.put(user.getId(), user.getPhone());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_LIVE_COMPLETION_FAIL,
|
|
|
+ receivers, null, 0, null, ClientEnum.STUDENT.getCode(), courseGroup.getName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("学生直播课成课失败推送发送失败,{}", e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 直播课成课失败退款
|
|
|
*
|