|
@@ -50,6 +50,8 @@ public class GoBangUtils {
|
|
|
* @param session
|
|
|
*/
|
|
|
public static void close( Session session ){
|
|
|
+ roompop(session);
|
|
|
+ hallpop(session);
|
|
|
for (String key : userList.keySet()) {
|
|
|
if ( userList.get(key).getSession().equals(session.getId()) ) {
|
|
|
try {
|
|
@@ -102,21 +104,18 @@ public class GoBangUtils {
|
|
|
GobangRoomItem beginRoom = getRoom(user.getRoomId());
|
|
|
if ( (beginRoom.getBackSessionId().equals(session.getId()) ||
|
|
|
beginRoom.getWhiteSessionId().equals(session.getId())) ) {
|
|
|
-
|
|
|
if ( beginRoom.getBackSessionId().equals(session.getId()) ) {
|
|
|
beginRoom.setBackState(2);
|
|
|
} else if ( beginRoom.getWhiteSessionId().equals(session.getId()) ) {
|
|
|
beginRoom.setWhiteState(2);
|
|
|
}
|
|
|
-
|
|
|
if ( beginRoom.getBackState() == 2 && beginRoom.getWhiteState() == 2 ) {
|
|
|
if ( !beginRoom.getStatus().equals(1) ) {
|
|
|
beginRoom.setStatus(1);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
beginRoom.setData(revMessage.getData() );
|
|
|
-
|
|
|
+ beginRoom.setWinUsername("");
|
|
|
}
|
|
|
break;
|
|
|
case Constant.POINT:
|
|
@@ -137,6 +136,14 @@ public class GoBangUtils {
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
+ case Constant.WIN:
|
|
|
+ UserListItem winUser = getUser(session);
|
|
|
+ GobangRoomItem winRoom = getRoom(winUser.getRoomId());
|
|
|
+ winRoom.setStatus(0);
|
|
|
+ winRoom.setWhiteState(1);
|
|
|
+ winRoom.setBackState(1);
|
|
|
+ winRoom.setWinUsername( revMessage.getWinUser() );
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -144,7 +151,7 @@ public class GoBangUtils {
|
|
|
* 进入房间
|
|
|
* @param session
|
|
|
*/
|
|
|
- public static void roompush(Session session, int roomId){
|
|
|
+ private static void roompush(Session session, int roomId){
|
|
|
GobangRoomItem room = getRoom(roomId);
|
|
|
if ( Objects.isNull(room) ) {
|
|
|
System.out.println( "错误数据查不到房间:" + roomId );
|
|
@@ -179,7 +186,7 @@ public class GoBangUtils {
|
|
|
* 进入大厅
|
|
|
* @param session
|
|
|
*/
|
|
|
- public static void hallpush(Session session){
|
|
|
+ private static void hallpush(Session session){
|
|
|
hall.put(session.getId(), (new Date()).toString());
|
|
|
UserListItem user = getUser(session);
|
|
|
roompop(session);
|
|
@@ -315,4 +322,17 @@ public class GoBangUtils {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 清理断线用户
|
|
|
+ */
|
|
|
+ public static void clearDisconnectUser() {
|
|
|
+ for (String key: userList.keySet()) {
|
|
|
+ if (!userList.get(key).getSession().isOpen()) {
|
|
|
+ roompop(userList.get(key).getSession());
|
|
|
+ hallpop(userList.get(key).getSession());
|
|
|
+ userList.remove(key);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|