|
@@ -1,5 +1,46 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.COOLESHOW;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_ROOM_HEART_BEAT;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_ROOM_INFO;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_ROOM_LIKE;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_ROOM_ONLINE_USER_LIST;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_ROOM_TOTAL_USER_LIST;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_USER_LAST_CLIENT_IP;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_USER_LAST_TIME;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_USER_ROOM;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.ROOM_UID;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.USER_ID;
|
|
|
+import static com.yonge.cooleshow.common.constant.SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE;
|
|
|
+import static com.yonge.cooleshow.common.constant.SysConfigConstant.PRE_CREATE_LIVE_ROOM_MINUTE;
|
|
|
+
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.function.BiFunction;
|
|
|
+import java.util.function.BiPredicate;
|
|
|
+import java.util.function.Consumer;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.redisson.api.RBucket;
|
|
|
+import org.redisson.api.RMap;
|
|
|
+import org.redisson.api.RedissonClient;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -8,40 +49,42 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.LiveRoomDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.*;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CourseSchedule;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentPayment;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CourseScheduleTeacherSalary;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.IMApiResultInfo;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.ImRoomMessage;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.LiveRoom;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.RoomInfoCache;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.RoomUserInfoCache;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.StudentAttendance;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.TeacherAttendance;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.RoomTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.TeacherSalaryEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.CourseScheduleStudentPaymentService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.CourseScheduleTeacherSalaryService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.StudentAttendanceService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SysMessageService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.TeacherAttendanceService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.UserOrderService;
|
|
|
import com.yonge.cooleshow.biz.dal.support.IMHelper;
|
|
|
import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherLivingInfoVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
|
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
|
import com.yonge.toolset.base.page.PageInfo;
|
|
|
import com.yonge.toolset.mybatis.support.PageUtil;
|
|
|
import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.yonge.toolset.utils.date.DateUtil;
|
|
|
-import org.apache.commons.collections.CollectionUtils;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.redisson.api.RBucket;
|
|
|
-import org.redisson.api.RMap;
|
|
|
-import org.redisson.api.RedissonClient;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
-import java.time.LocalDate;
|
|
|
-import java.util.*;
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
-import java.util.function.BiFunction;
|
|
|
-import java.util.function.BiPredicate;
|
|
|
-import java.util.function.Consumer;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.*;
|
|
|
-import static com.yonge.cooleshow.common.constant.SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE;
|
|
|
-import static com.yonge.cooleshow.common.constant.SysConfigConstant.PRE_CREATE_LIVE_ROOM_MINUTE;
|
|
|
|
|
|
/**
|
|
|
* 直播房间与课程的关系表表(LiveRoom)表服务实现类
|
|
@@ -274,6 +317,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
String roomTitle = WrapperUtil.toStr(param, "roomTitle", "房间标题不能为空!");
|
|
|
String liveRemark = WrapperUtil.toStr(param, "liveRemark", "直播间描述不能为空!");
|
|
|
Integer liveTime = WrapperUtil.toInt(param, "liveTime", "请选择直播时长!");
|
|
|
+ String coverPic = WrapperUtil.toStr(param, "coverPic", "直播封面图不能为空!");
|
|
|
if (roomTitle.length() > 20) {
|
|
|
throw new BizException("直播标题不能超出20个字");
|
|
|
}
|
|
@@ -301,6 +345,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
room.setCreatedBy(teacherId);
|
|
|
room.setCreatedTime(liveStartTime);
|
|
|
room.setType(en.getCode());
|
|
|
+ room.setCoverPic(coverPic);
|
|
|
this.save(room);
|
|
|
log.info("createTempLiveRoom>>>>>>room:{}", room.getRoomUid());
|
|
|
//去融云创建房间及创建房间缓存信息
|
|
@@ -1069,5 +1114,10 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
public LiveRoom getLiveInRoomBySpeakerId(Long speakerId) {
|
|
|
return baseMapper.getLiveInRoomBySpeakerId(speakerId);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<TeacherLivingInfoVo> queryTeacherLivingList() {
|
|
|
+ return baseMapper.queryTeacherLivingList();
|
|
|
+ }
|
|
|
}
|
|
|
|