Browse Source

房间自动关闭

lyhzzz 2 năm trước cách đây
mục cha
commit
eb0fc1a176

+ 10 - 4
src/main/java/com/fdkankan/tk/service/DataCountService.java

@@ -36,6 +36,8 @@ public class DataCountService {
     IRoomUserService roomUserService;
     @Autowired
     IWxUserService wxUserService;
+    @Autowired
+    IRoomLiveService roomLiveService;
 
 
     public Object roomData(String token) {
@@ -236,10 +238,14 @@ public class DataCountService {
                     }
                 });
             }
-            List<RoomUser> roomUserList = roomUserService.getByRoomId(record.getRoomId());
-            Long minute = Dateutils.getLongTime(record.getUseStartTime(), record.getUseEndTime(),DateUnit.MINUTE);
-            for (RoomUser roomUser : roomUserList) {
-                minute +=  Dateutils.getLongTime(roomUser.getUseStartTime(), roomUser.getUseEndTime(),DateUnit.MINUTE);
+            List<RoomLive> roomLives = roomLiveService.getByRoomId(record.getRoomId());
+            Long minute = 0L;
+            for (RoomLive roomLive : roomLives) {
+                Date overTime = roomLive.getOverTime();
+                if(overTime == null){
+                    overTime = record.getUseEndTime();
+                }
+                minute +=  Dateutils.getLongTime(roomLive.getCreateTime(), overTime,DateUnit.MINUTE);
             }
             RoomListDataVo roomListDataVo = new RoomListDataVo();
             roomListDataVo.setRoomTitle(record.getRoomTitle());

+ 4 - 0
src/main/java/com/fdkankan/tk/service/IRoomLiveService.java

@@ -4,6 +4,7 @@ import com.fdkankan.tk.entity.RoomLive;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -19,4 +20,7 @@ public interface IRoomLiveService extends IService<RoomLive> {
 
     void stopByLiveId(String liveId);
 
+    void stopByRoomId(String roomId);
+
+    List<RoomLive> getByRoomId(String roomId);
 }

+ 16 - 0
src/main/java/com/fdkankan/tk/service/impl/RoomLiveServiceImpl.java

@@ -1,9 +1,11 @@
 package com.fdkankan.tk.service.impl;
 import java.util.Date;
+import java.util.List;
 import java.util.Set;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.tk.common.util.RoomUtil;
@@ -55,4 +57,18 @@ public class RoomLiveServiceImpl extends ServiceImpl<IRoomLiveMapper, RoomLive>
 
     }
 
+    @Override
+    public void stopByRoomId(String roomId) {
+        List<RoomLive> list = this.getByRoomId(roomId);
+        for (RoomLive roomLive : list) {
+            this.stopByLiveId(roomLive.getLiveId().toString());
+        }
+    }
+
+    @Override
+    public List<RoomLive> getByRoomId(String roomId) {
+        LambdaQueryWrapper<RoomLive> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(RoomLive::getRoomId,roomId);
+        return this.list(wrapper);
+    }
 }

+ 3 - 0
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -403,6 +403,9 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         wrapper.eq(Room::getRoomId,room.getRoomId());
         wrapper.set(Room::getRoomStatus,2);
         this.update(wrapper);
+        roomLiveService.stopByRoomId(room.getRoomId());
+        redisUtil.del(RoomUtil.redisKey+"live:"+room.getRoomId());
+
         List<RoomUser> byRoomId = roomUserService.getByRoomId(room.getRoomId());
         for (RoomUser roomUser : byRoomId) {
             roomUserService.stopRoom(roomUser);