|
@@ -86,6 +86,8 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
private UserOrderService userOrderService;
|
|
private UserOrderService userOrderService;
|
|
@Autowired
|
|
@Autowired
|
|
private SysMessageService sysMessageService;
|
|
private SysMessageService sysMessageService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ImGroupMemberService imGroupMemberService;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private UserOrderRefundService userOrderRefundService;
|
|
private UserOrderRefundService userOrderRefundService;
|
|
@@ -359,7 +361,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
timeList.forEach(o -> {
|
|
timeList.forEach(o -> {
|
|
boolean checkDataTime = courseScheduleService.checkStudentCourseTime(studentId, startTimeFun.apply(o), endTimeFun.apply(o));
|
|
boolean checkDataTime = courseScheduleService.checkStudentCourseTime(studentId, startTimeFun.apply(o), endTimeFun.apply(o));
|
|
if (checkDataTime) {
|
|
if (checkDataTime) {
|
|
- throw new BizException("学生id:"+studentId+",预计安排在" + DateUtil.dateToString(startTimeFun.apply(o), "yyyy年MM月dd号 HH点mm分") + "的课程时间存在冲突!");
|
|
|
|
|
|
+ throw new BizException("学生id:" + studentId + ",预计安排在" + DateUtil.dateToString(startTimeFun.apply(o), "yyyy年MM月dd号 HH点mm分") + "的课程时间存在冲突!");
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -541,7 +543,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
// 获取课程组声部
|
|
// 获取课程组声部
|
|
List<LiveCourseGroupVo> subjectList = baseMapper.selectCourseGroupSubject(courseGroupIdList);
|
|
List<LiveCourseGroupVo> subjectList = baseMapper.selectCourseGroupSubject(courseGroupIdList);
|
|
Map<Long, List<LiveCourseGroupVo>> collect = subjectList.stream()
|
|
Map<Long, List<LiveCourseGroupVo>> collect = subjectList.stream()
|
|
- .collect(Collectors.groupingBy( LiveCourseGroupVo::getCourseGroupId));
|
|
|
|
|
|
+ .collect(Collectors.groupingBy(LiveCourseGroupVo::getCourseGroupId));
|
|
for (LiveCourseGroupVo record : records) {
|
|
for (LiveCourseGroupVo record : records) {
|
|
List<LiveCourseGroupVo> liveCourseGroupVos = collect.get(record.getCourseGroupId());
|
|
List<LiveCourseGroupVo> liveCourseGroupVos = collect.get(record.getCourseGroupId());
|
|
if (CollectionUtils.isEmpty(liveCourseGroupVos)) {
|
|
if (CollectionUtils.isEmpty(liveCourseGroupVos)) {
|
|
@@ -740,6 +742,21 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
log.info("buyLiveCourseSuccess ok");
|
|
log.info("buyLiveCourseSuccess ok");
|
|
//课程购买成功后进行消息推送
|
|
//课程购买成功后进行消息推送
|
|
buyLiveSendMessage(studentPayment, courseGroup);
|
|
buyLiveSendMessage(studentPayment, courseGroup);
|
|
|
|
+
|
|
|
|
+ //创建群聊
|
|
|
|
+ try {
|
|
|
|
+ ImGroup imGroup = imGroupService.getDao().selectOne(Wrappers.<ImGroup>lambdaQuery().eq(ImGroup::getCourseGroupId, courseGroup.getId()));
|
|
|
|
+ if (imGroup == null) {//群组不存在->创建群组
|
|
|
|
+ imGroupService.autoCreate(courseGroup.getId(), CourseScheduleEnum.LIVE.getCode());
|
|
|
|
+ } else {//存在->加入当前学员
|
|
|
|
+ String imGroupId = imGroup.getId();
|
|
|
|
+ Set<Long> userIds = new HashSet<>(Arrays.asList(studentPayment.getUserId()));
|
|
|
|
+ imGroupMemberService.initGroupMembers(imGroupId, userIds, ImGroupMemberRoleType.STUDENT);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("直播课程组id:{},创建群聊失败:{}", courseGroup.getId(), e);
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -923,32 +940,32 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<CourseGroupLiveVo> selectLiveGroup(IPage<CourseGroupLiveVo> page, CourseGroupSearch search) {
|
|
public IPage<CourseGroupLiveVo> selectLiveGroup(IPage<CourseGroupLiveVo> page, CourseGroupSearch search) {
|
|
- return baseMapper.selectLiveGroup(page,search);
|
|
|
|
|
|
+ return baseMapper.selectLiveGroup(page, search);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<CourseSchedulePaymentVo> selectLiveGroupStudent(IPage<CourseSchedulePaymentVo> page, CourseGroupSearch search) {
|
|
public IPage<CourseSchedulePaymentVo> selectLiveGroupStudent(IPage<CourseSchedulePaymentVo> page, CourseGroupSearch search) {
|
|
- return baseMapper.selectLiveGroupStudent(page,search);
|
|
|
|
|
|
+ return baseMapper.selectLiveGroupStudent(page, search);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<CourseSchedulePlanVo> selectLiveGroupPlan(IPage<CourseSchedulePlanVo> page, CourseGroupSearch search) {
|
|
public IPage<CourseSchedulePlanVo> selectLiveGroupPlan(IPage<CourseSchedulePlanVo> page, CourseGroupSearch search) {
|
|
- return baseMapper.selectLiveGroupPlan(page,search);
|
|
|
|
|
|
+ return baseMapper.selectLiveGroupPlan(page, search);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<CourseGroupVideoVo> selectVideoGroup(IPage<CourseGroupVideoVo> page, CourseGroupSearch search) {
|
|
public IPage<CourseGroupVideoVo> selectVideoGroup(IPage<CourseGroupVideoVo> page, CourseGroupSearch search) {
|
|
- return baseMapper.selectVideoGroup(page,search);
|
|
|
|
|
|
+ return baseMapper.selectVideoGroup(page, search);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<CourseGroupStudentVo> selectVideoGroupStudent(IPage<CourseGroupStudentVo> page, CourseGroupSearch search) {
|
|
public IPage<CourseGroupStudentVo> selectVideoGroupStudent(IPage<CourseGroupStudentVo> page, CourseGroupSearch search) {
|
|
- return baseMapper.selectVideoGroupStudent(page,search);
|
|
|
|
|
|
+ return baseMapper.selectVideoGroupStudent(page, search);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<VideoLessonGroupDetail> selectVideoGroupPlan(IPage<VideoLessonGroupDetail> page, CourseGroupSearch search) {
|
|
public IPage<VideoLessonGroupDetail> selectVideoGroupPlan(IPage<VideoLessonGroupDetail> page, CourseGroupSearch search) {
|
|
- return baseMapper.selectVideoGroupPlan(page,search);
|
|
|
|
|
|
+ return baseMapper.selectVideoGroupPlan(page, search);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|