|
@@ -2,7 +2,7 @@ import { BasicController } from "./basicController.js";
|
|
|
import { RoomController } from "./room/index.js";
|
|
|
import { SyncDeviceController } from "./syncDeviceController.js";
|
|
|
import { FROMTYPE } from "../enum/index.js";
|
|
|
-import { updateRoomUser, isUserInRoom } from "../service/userService.js";
|
|
|
+import { updateRoomUser, isUserInRoom, removeRoomUser } from "../service/userService.js";
|
|
|
|
|
|
export class ConnectController extends BasicController {
|
|
|
constructor(...args) {
|
|
@@ -68,13 +68,18 @@ export class ConnectController extends BasicController {
|
|
|
if (Number(user.onlineStatus) === 1) {
|
|
|
// const res = await this.roomController.roomAssistant.checkRoomMaximum(roomId);
|
|
|
const isInRoom = await isUserInRoom(roomId, user.userId);
|
|
|
- const illegalMaster = this.roomController.roomAssistant.illegalMaster
|
|
|
- if (!this.roomController.roomAssistant.roomMax && isInRoom && this.roomController && !illegalMaster) {
|
|
|
- console.log("已在线,被断开后", isInRoom);
|
|
|
- isInRoom.onlineStatus = 0;
|
|
|
- this.roomController.user = isInRoom;
|
|
|
- await updateRoomUser(roomId, userId, isInRoom);
|
|
|
- await this.roomController.roomAssistant.notifyUsersChange(roomId, user, false);
|
|
|
+ const illegalMaster = this.roomController.roomAssistant.illegalMaster;
|
|
|
+ if (!this.roomController.roomAssistant.roomMax && isInRoom && this.roomController) {
|
|
|
+ if (illegalMaster) {
|
|
|
+ console.log("断开存在非法房主");
|
|
|
+ await removeRoomUser(roomId, userId);
|
|
|
+ } else {
|
|
|
+ console.log("已在线,被断开后", isInRoom);
|
|
|
+ isInRoom.onlineStatus = 0;
|
|
|
+ this.roomController.user = isInRoom;
|
|
|
+ await updateRoomUser(roomId, userId, isInRoom);
|
|
|
+ await this.roomController.roomAssistant.notifyUsersChange(roomId, user, false);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}, 1000);
|