TIL 93일차

Moon-Tree·2023년 5월 14일
0

◆ 채팅방 생성, 회원 초대 기능

◆ 일대일 채팅방과 그룹 채팅방 생성 기능 고민

  1. dm_invitation과 dm_user, dm_room 테이블이 생성되어 있습니다.
  2. channel.jsp파일에 모달창에는 회원 리스트가 있습니다.
  3. 로그인한 a회원이 모달창의 회원 리스트에서 b회원과 채팅을 하려고합니다.
  4. 모달창의 회원 리스트에서 b회원의 채팅 버튼을 클릭하면, a회원과 b회원이 대화 할 수 있는 일대일 채팅방이 생성됩니다.
  5. 생성된 n번 채팅방에는 a회원과 b회원이 입장합니다.
  6. n번 채팅방은 처음에는 일대일 채팅방으로 생성되지만, 추가로 회원을 초대할 경우 그룹채팅방이 될 수도 있습니다.

◆ 일대일 채팅방과 중복 생성 금지 기능 고민

  1. 채팅방에 인원이 2명일 경우 동일한 회원 끼리 2인 채팅방을 생성할 수 없습니.
  2. 2인 채팅방일 경우 a회원과 b회원이 서로를 초대해서 동일한 2인 채팅방을 생성할 수 없습니다.
  3. 예시- a회원과 b회원이 입장해 있는 2인 채팅방이 존재할 경우, 똑같은 회원으로 방을 생성할 수 없습니다.

◆ 채팅방 생성, 초대 기능 구현 고민

  1. 채팅방 생성 : createDmRoom 메서드에서는 채팅방을 생성하는 API만 호출합니다. 이 API는 채팅방 정보를 받아 DB에 저장하고 채팅방 번호를 반환합니다.

  2. 초대 : 초대를 처리하는 별도의 함수를 만듭니다. 이 함수는 초대받는 사람의 번호와 채팅방 번호를 매개변수로 받아서 초대 API를 호출합니다. 이 API는 초대 정보를 DB에 저장하고 성공 여부를 반환합니다.

profile
Backend Developer

0개의 댓글