Skip to content

Commit

Permalink
Merge pull request #14 from CodingWasabi/websocket
Browse files Browse the repository at this point in the history
exit 할때 메시지 보내기
  • Loading branch information
daehwan2yo authored Jun 10, 2021
2 parents 8fc70bf + 8c18753 commit e75ca38
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,14 @@
import com.codingwasabi.bigtong.admin.repository.ChatRoomRepository;
import com.codingwasabi.bigtong.main.Account;
import com.codingwasabi.bigtong.main.repository.AccountRepository;
import com.codingwasabi.bigtong.websocket.message.LeftPeople;
import com.codingwasabi.bigtong.websocket.message.UpdateMessage;
import com.codingwasabi.bigtong.websocket.message.ChatMessage;
import com.codingwasabi.bigtong.websocket.message.MessageType;
import com.codingwasabi.bigtong.websocket.service.ChatService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;

import javax.websocket.Session;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
Expand Down Expand Up @@ -76,7 +71,14 @@ public void deleteAccount(String nickname,Map<String,WebSocketSession> webSocket
accountRepository.deleteAccountByNickname(nickname);
chatRoomRepository.flush();

chatService.sendMessageAll(new LeftPeople(chatRoom.getAccountList().size()),chatRoom,webSocketSessionMap);
ChatMessage exitMessage = ChatMessage.builder()
.messageType(MessageType.TALK)
.leftPeople(chatRoom.getAccountList().size())
.roomType(chatRoom.getType())
.message(nickname+"님이 퇴장하셨습니다.")
.nickname("ADMIN")
.build();
chatService.sendMessageAll(exitMessage,chatRoom,webSocketSessionMap);

}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,19 @@ else if(messageType == MessageType.TALK || messageType == MessageType.NOTICE){
// EXIT 인경우
else if (messageType == MessageType.EXIT){
// account 에서 chatroom 삭제
ChatRoom room = account.getChatRoom();
ChatMessage exitMessage = ChatMessage.builder()
.roomType(account.getChatRoom().getType())
.message(account.getNickname()+"님이 퇴장하셨습니다.")
.nickname("ADMIN")
.messageType(MessageType.TALK)
.leftPeople(chatRoom.getAccountList().size()-1)
.build();

account.exitRoom();

// map 에서 삭제
webSocketSessionMap.remove(account);
sendMessageAll(new LeftPeople(chatRoom.getAccountList().size()),chatRoom,webSocketSessionMap);
sendMessageAll(exitMessage,chatRoom,webSocketSessionMap);
chatRoomRepository.flush();

}
Expand Down

0 comments on commit e75ca38

Please sign in to comment.