Browse Source

Merge remote-tracking branch 'origin/master_saas' into master_saas

zouxuan 3 years ago
parent
commit
e122195f19

+ 19 - 30
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -177,12 +177,8 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     @Transactional(rollbackFor = Exception.class)
     public void update(ImLiveBroadcastRoomDto dto) {
         ImLiveBroadcastRoom obj = this.getById(dto.getId());
-        if (obj.getLiveState() == 1) {
-            obj.setRoomTitle(dto.getRoomTitle());
-        } else {
-            BeanUtils.copyProperties(dto, obj);
-            obj.setRoomConfig(JSONObject.toJSONString(dto.getRoomConfig()));
-        }
+        BeanUtils.copyProperties(dto, obj);
+        obj.setRoomConfig(JSONObject.toJSONString(dto.getRoomConfig()));
         obj.setUpdatedBy(getSysUser().getId());
         obj.setUpdatedTime(new Date());
         log.info("update room  >>>  :{}", JSONObject.toJSONString(obj));
@@ -259,32 +255,25 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
 
     private void destroyExpiredLiveRoom(Date now, ImLiveBroadcastRoom room, int expiredMinute) {
         log.error("roomDestroy destroyExpiredLiveRoom >>>> now {} roomInfo : {} expiredMinute:{}", now, JSONObject.toJSONString(room), expiredMinute);
-        //过期时间= 房间正式开始时间+expiredMinute 分钟
-        Date expiredTime = DateUtil.addMinutes(room.getCreatedTime(), expiredMinute);
-        // 现在 大于等于 过期时间
-        if (now.getTime() >= expiredTime.getTime()) {
-            //获取直播间主讲人信息
-            RBucket<RoomSpeakerInfo> speakerCache = redissonClient.getBucket(LIVE_SPEAKER_INFO.replace(USER_ID, room.getSpeakerId().toString()));
-            if (speakerCache.isExists()) {
-                RoomSpeakerInfo speakerInfo = speakerCache.get();
-                //超过expiredMinute分钟,没有进入房间
-                if (Objects.isNull(speakerInfo.getJoinRoomTime())) {
-                    roomDestroy(room);
-                    return;
-                }
+        //获取直播间主讲人信息
+        RBucket<RoomSpeakerInfo> speakerCache = redissonClient.getBucket(LIVE_SPEAKER_INFO.replace(USER_ID, room.getSpeakerId().toString()));
+        if (speakerCache.isExists()) {
+            RoomSpeakerInfo speakerInfo = speakerCache.get();
+            //过期时间= 房间正式开始时间+expiredMinute 分钟
+            Date expiredTime = DateUtil.addMinutes(room.getCreatedTime(), expiredMinute);
+            //当前时间 大于(创建房间时填入的开播时间 + 设置的过期分钟数)并且 主播没有进入房间
+            if (now.getTime() >= expiredTime.getTime() && Objects.isNull(speakerInfo.getJoinRoomTime())) {
+                roomDestroy(room);
+                log.info("roomDestroy not joinRoom >>>> roomId:{}", room.getId());
+                return;
+            }
 
-                //超过expiredMinute分钟,但是未开启直播,则销毁
-                if (Objects.isNull(speakerInfo.getState())) {
+            if (Objects.nonNull(speakerInfo.getExitRoomTime())) {
+                Date comparedTime = DateUtil.addMinutes(speakerInfo.getExitRoomTime(), expiredMinute);
+                //当前时间 大于 创建房间时填入的开播时间 并且 当前时间 大于  (主播退出时间 + 设置的过期分钟数) 并且 是直播中断状态
+                if (now.getTime() >= room.getCreatedTime().getTime() && now.getTime() >= comparedTime.getTime() && speakerInfo.getState() != 0) {
                     roomDestroy(room);
-                    return;
-                }
-
-                //现在时间 大于 (退出房间的时间 + expiredMinute 分钟),则销毁
-                if (Objects.nonNull(speakerInfo.getExitRoomTime())) {
-                    Date comparedTime = DateUtil.addMinutes(speakerInfo.getExitRoomTime(), expiredMinute);
-                    if (now.getTime() >= comparedTime.getTime() && speakerInfo.getState() != 0) {
-                        roomDestroy(room);
-                    }
+                    log.info("roomDestroy exitRoom >>>> roomId:{}", room.getId());
                 }
             }
         }

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/ImLiveBroadcastRoomMemberMapper.xml

@@ -41,8 +41,8 @@
         where a.room_uid_ = #{param.roomUid}
         <if test="param.search != null ">
             AND (
-            a.room_uid_ LIKE CONCAT('%', #{param.search},'%')
-            OR i.room_title_ LIKE CONCAT('%', #{param.search},'%')
+            a.user_id_ LIKE CONCAT('%', #{param.search},'%')
+            OR su.username_ LIKE CONCAT('%', #{param.search},'%')
             )
         </if>
     </select>