|
@@ -132,6 +132,11 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
return queryLiveCourseInfo(groupId, sysUserService.getUser());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public CourseInfoVo queryCourseInfo(Long groupId) {
|
|
|
+ return queryCourseInfo(groupId, sysUserService.getUser());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询课程组详情-直播课详情
|
|
|
*
|
|
@@ -212,6 +217,65 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+ private CourseInfoVo queryCourseInfo(Long groupId, SysUser sysUser) {
|
|
|
+ CourseGroup group = Optional.ofNullable(groupId).map(this::getById)
|
|
|
+ .orElseThrow(() -> new BizException("课程组信息不存在"));
|
|
|
+
|
|
|
+ CourseInfoVo result = new CourseInfoVo();
|
|
|
+ result.setCourseGroupId(group.getId());
|
|
|
+ result.setCourseGroupName(group.getName());
|
|
|
+ result.setCourseStartTime(group.getCourseStartTime());
|
|
|
+ result.setSingleCourseMinutes(group.getSingleCourseMinutes());
|
|
|
+ result.setStatus(group.getStatus());
|
|
|
+ result.setStudentCount(group.getPreStudentNum());
|
|
|
+ result.setBackgroundPic(group.getBackgroundPic());
|
|
|
+ result.setTeacherId(group.getTeacherId());
|
|
|
+ result.setCoursePrice(group.getCoursePrice());
|
|
|
+ result.setCourseNum(group.getCourseNum());
|
|
|
+ result.setCourseIntroduce(group.getCourseIntroduce());
|
|
|
+ result.setSalesStartDate(group.getSalesStartDate());
|
|
|
+ result.setSalesEndDate(group.getSalesEndDate());
|
|
|
+ result.setMixStudentNum(group.getMixStudentNum());
|
|
|
+ result.setImGroupId(group.getImGroupId());
|
|
|
+ result.setAuditVersion(group.getAuditVersion());
|
|
|
+ SysUser teacherUser = sysUserService.getByUserId(group.getTeacherId());
|
|
|
+ if (teacherUser == null) {
|
|
|
+ throw new BizException("用户不存在");
|
|
|
+ }
|
|
|
+ if (sysUser.getId().equals(teacherUser.getId())) {
|
|
|
+ result.setMyself(true);
|
|
|
+ } else {
|
|
|
+ result.setMyself(false);
|
|
|
+ }
|
|
|
+ Teacher teacher = teacherService.getById(teacherUser.getId());
|
|
|
+
|
|
|
+ if (teacher != null) {
|
|
|
+ result.setDegreeFlag(teacher.getDegreeFlag());
|
|
|
+ result.setTeacherFlag(teacher.getTeacherFlag());
|
|
|
+
|
|
|
+ }
|
|
|
+ result.setTeacherName(teacherUser.getRealName());
|
|
|
+ result.setUserName(teacherUser.getUsername());
|
|
|
+ result.setAvatar(teacherUser.getAvatar());
|
|
|
+ Optional.ofNullable(group.getSubjectId()).map(subjectService::get)
|
|
|
+ .ifPresent(subject -> result.setSubjectName(subject.getName()));
|
|
|
+ //查询是否购买过该课程组
|
|
|
+ Long id = sysUser.getId();
|
|
|
+
|
|
|
+ //这里修改为,订单完成后才算购买过,待支付和支付中订单不算
|
|
|
+ //因为页面再点击购买按钮时,会请求/userOrder/getPendingOrder接口,如果有支付中的订单,用户选择继续支付或取消订单
|
|
|
+ OrderSearch query = new OrderSearch();
|
|
|
+ query.setUserId(id);
|
|
|
+ query.setGoodType(GoodTypeEnum.LIVE.getCode());
|
|
|
+ query.setBizId(groupId);
|
|
|
+ query.setStatus(OrderStatusEnum.PAID.getCode());
|
|
|
+ List<UserOrderVo> userOrderVos = userOrderService.selectAllList(query);
|
|
|
+ result.setExistBuy(0);
|
|
|
+ if (CollectionUtils.isNotEmpty(userOrderVos)) {
|
|
|
+ result.setExistBuy(1);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 分页查询课程组列表
|