Browse Source

解散房间

lyhzzz 2 years ago
parent
commit
dfe64e2d34

+ 1 - 0
src/main/java/com/fdkankan/tk/common/ResultCode.java

@@ -10,6 +10,7 @@ public enum ResultCode {
     ROOM_ING(4004,"房间直播中,请先关闭直播再修改!"),
     DEL_ROOM_ING(4005,"房间直播中,请先关闭直播再删除!"),
     ROOM_END(4005,"房间已结束,无法展示"),
+    ROOM_DISSOLVE_ERROR(4006,"房间类型不对无法解散"),
     USER_NOT_LOGIN(4008,"用户未登录"),
 
     SCENE_STATUS_ERROR(5001,"房间中场景重算中或封存"),

+ 6 - 4
src/main/java/com/fdkankan/tk/controller/RoomController.java

@@ -118,13 +118,15 @@ public class RoomController extends BaseController{
                                   @RequestParam(required = false) Integer type,
                                   @RequestParam(required = false) String userId){
         String platform = request.getHeader("platform");
-        if(StringUtils.isNotBlank(platform) && platform.equals("fd")){
-            return ResultData.ok();
-        }
-        roomService.inOrOutRoom(roomId,role,type,userId);
+        roomService.inOrOutRoom(roomId,role,type,userId,platform);
         return ResultData.ok();
     }
 
+    @GetMapping("/dissolveTheRoom")
+    public ResultData dissolveTheRoom(@RequestParam(required = false) String roomId){
+        roomService.dissolveTheRoom(roomId);
+        return ResultData.ok();
+    }
 
     /**
      * 分享房间

+ 3 - 0
src/main/java/com/fdkankan/tk/entity/Room.java

@@ -142,6 +142,9 @@ public class Room implements Serializable {
     @TableField("gps")
     private String gps;
 
+    @TableField("platform")
+    private String platform;
+
     @TableField(typeHandler = JsonArrayTypeHandler.class)
     private JSONArray image;
 

+ 3 - 1
src/main/java/com/fdkankan/tk/service/IRoomService.java

@@ -35,7 +35,7 @@ public interface IRoomService extends IService<Room> {
 
     String getWxQrCode(String roomId,String type);
 
-    void inOrOutRoom(String roomId, String role, Integer type,String userId);
+    void inOrOutRoom(String roomId, String role, Integer type,String userId,String platform);
 
     Long getCountAndTbStatus();
 
@@ -51,4 +51,6 @@ public interface IRoomService extends IService<Room> {
 
 
     void hostLeaveRoom(String roomId, Integer roomUserId);
+
+    void dissolveTheRoom(String roomId);
 }

+ 28 - 6
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -335,8 +335,8 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
      * role  follower  leader
      */
     @Override
-    public void inOrOutRoom(String roomId, String role, Integer type,String userId) {
-        log.info("inOrOutRoom--roomId:{},role:{},type:{},userId:{}",roomId,role,type,userId);
+    public void inOrOutRoom(String roomId, String role, Integer type,String userId,String platform) {
+        log.info("inOrOutRoom--roomId:{},role:{},type:{},userId:{},platform:{}",roomId,role,type,userId,platform);
         if(roomId == null || StringUtils.isBlank(role)
                 || ( !role.equals("leader") && !role.equals("customer")) ){
             throw new BusinessException(ResultCode.PARAM_MISS);
@@ -362,7 +362,9 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         }
 
         if(role.equals("customer")){
-            roomVisitLogService.addLog(roomId,roomUserId,userId,type,0);
+            if(!(StringUtils.isNotBlank(platform) && platform.equals("fd"))){
+                roomVisitLogService.addLog(roomId,roomUserId,userId,type,0);
+            }
             this.updateById(room);
             return;
         }
@@ -390,11 +392,15 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
 
         if(type == 0 ){     //加入房间,开启带看
             room.setRoomStatus(1);
-            roomVisitLogService.addLog(roomId,roomUserId,userId,type,1);
+            if(!(StringUtils.isNotBlank(platform) && platform.equals("fd"))){
+                roomVisitLogService.addLog(roomId,roomUserId,userId,type,1);
+            }
         }
         if(type == 1 ){   //离开房间
-            roomVisitLogService.addLog(roomId,roomUserId,userId,type,1);
-            this.hostLeaveRoom(roomId,roomUserId);
+            if(!(StringUtils.isNotBlank(platform) && platform.equals("fd"))){
+                roomVisitLogService.addLog(roomId,roomUserId,userId,type,1);
+                this.hostLeaveRoom(roomId,roomUserId);
+            }
         }
         this.updateById(room);
     }
@@ -409,6 +415,7 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
     public List<Room> getRunningRoom() {
         LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(Room::getRoomStatus,0,1);
+        wrapper.eq(Room::getPlatform,"4dkankan");
         return this.list(wrapper);
     }
 
@@ -466,4 +473,19 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
        return this.list(wrapper);
     }
 
+
+    @Override
+    public void dissolveTheRoom(String roomId) {
+        Room room = this.getById(roomId);
+        if(room == null){
+            throw new BusinessException(ResultCode.ROOM_MISS);
+        }
+        if(room.getPlatform().equals("4dkankan")){
+            throw new BusinessException(ResultCode.ROOM_DISSOLVE_ERROR);
+        }
+        LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(Room::getRoomId,room.getRoomId());
+        wrapper.set(Room::getRoomStatus,2);
+        this.update(wrapper);
+    }
 }