|
@@ -101,6 +101,7 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
|
|
|
RoomUser roomUser = roomUserService.getByUserName(record.getRoomId(),wxUser.getPhoneNumber());
|
|
|
if(roomUser != null){
|
|
|
record.setRoomId(record.getRoomId() + "_"+ roomUser.getRoomUserId());
|
|
|
+ record.setHostStatus(roomUser.getHostStatus());
|
|
|
}
|
|
|
}
|
|
|
record.setVisitPassword(null);
|
|
@@ -353,6 +354,10 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
|
|
|
RoomUser roomuser = roomUserService.getById(roomUserId);
|
|
|
if(type == 0 ){ //加入房间,开启带看
|
|
|
roomuser.setRoomStatus(1);
|
|
|
+ roomuser.setHostStatus(1);
|
|
|
+ }
|
|
|
+ if(type == 1 ){ //加入房间,开启带看
|
|
|
+ roomuser.setHostStatus(0);
|
|
|
}
|
|
|
roomuser.setUpdateTime(null);
|
|
|
roomUserService.updateById(roomuser);
|
|
@@ -360,12 +365,14 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
|
|
|
|
|
|
if(type == 0 ){ //加入房间,开启带看
|
|
|
room.setRoomViewCount(room.getRoomViewCount() + 1);
|
|
|
+ room.setHostStatus(1);
|
|
|
room.setRoomStatus(1);
|
|
|
roomVisitLogService.addLog(roomId,roomUserId,userId,type);
|
|
|
}
|
|
|
if(type == 1 ){ //离开房间
|
|
|
- this.stopRoom(roomId,roomUserId,1);
|
|
|
+ room.setHostStatus(0);
|
|
|
roomVisitLogService.addLog(roomId,roomUserId,userId,type);
|
|
|
+ this.hostLeaveRoom(roomId,roomUserId);
|
|
|
}
|
|
|
room.setLastLookTime(DateUtil.formatDateTime(new Date()));
|
|
|
room.setUpdateTime(null);
|
|
@@ -386,32 +393,29 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void stopRoom(String roomId,Integer roomUserId,Integer roomStatus) {
|
|
|
- if(roomUserId == null){
|
|
|
- if(roomStatus == 2){
|
|
|
- LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
|
|
|
- wrapper.eq(Room::getRoomId,roomId);
|
|
|
- wrapper.set(Room::getRoomStatus,roomStatus);
|
|
|
- this.update(wrapper);
|
|
|
-
|
|
|
- List<RoomUser> byRoomId = roomUserService.getByRoomId(roomId);
|
|
|
- for (RoomUser roomUser : byRoomId) {
|
|
|
- roomUserService.stopRoom(roomUser,roomStatus);
|
|
|
- }
|
|
|
- }
|
|
|
+ public void stopRoom(String roomId) {
|
|
|
+ LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.eq(Room::getRoomId,roomId);
|
|
|
+ wrapper.set(Room::getHostStatus,0);
|
|
|
+ wrapper.set(Room::getRoomStatus,2);
|
|
|
+ this.update(wrapper);
|
|
|
+ roomVisitLogService.stopRoom(roomId,null);
|
|
|
+ roomDanmakuService.saveDanMaku(roomId,null);
|
|
|
|
|
|
- roomVisitLogService.stopRoom(roomId,roomUserId);
|
|
|
- roomDanmakuService.saveDanMaku(roomId,roomUserId);
|
|
|
- }else {
|
|
|
- RoomUser roomUser = roomUserService.getById(roomUserId);
|
|
|
- if(roomUser != null){
|
|
|
- roomUserService.stopRoom(roomUser,roomStatus);
|
|
|
- }
|
|
|
+ List<RoomUser> byRoomId = roomUserService.getByRoomId(roomId);
|
|
|
+ for (RoomUser roomUser : byRoomId) {
|
|
|
+ roomUserService.stopRoom(roomUser);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public void hostLeaveRoom(String roomId, Integer roomUserId) {
|
|
|
+ roomVisitLogService.stopRoom(roomId,roomUserId);
|
|
|
+ roomDanmakuService.saveDanMaku(roomId,roomUserId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public HashMap<String, Room> getByIds(Set<String> roomIds) {
|
|
|
HashMap<String,Room> map = new HashMap<>();
|
|
|
if(roomIds.size() >0){
|