Skip to content

Commit b9e1332

Browse files
mr6208Chuseok22
andauthored
Test (#718)
* Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#700) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#711) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {스크립트 버전 충돌로 인한 스크립트 이름 변경} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#714) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#700) (#710) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {스크립트 버전 충돌로 인한 스크립트 이름 변경} #646 * Test (#712) * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#700) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#711) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {스크립트 버전 충돌로 인한 스크립트 이름 변경} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> --------- Co-authored-by: Baek Jihoon <[email protected]> * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {기존 스크립트 삭제(왜있는거지)} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * hotfix: 과거 스크립트 또 삭제 * Mr6208/20260109 채팅방 응답데이터 리팩토링 (#717) * Test (#716) * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#700) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#711) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {스크립트 버전 충돌로 인한 스크립트 이름 변경} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#714) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#700) (#710) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {스크립트 버전 충돌로 인한 스크립트 이름 변경} #646 * Test (#712) * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#700) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * Mr6208/20251125 #646 대리인 및 의뢰인의 티켓팅 성공내역 생성 및 조회 기능 추가 (#711) * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 모듈 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 도메인 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 API 설계 및 명세 작성} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역생성 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역리스트업 기능 설계} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {flyway 관련 세팅 추가} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {코드리뷰 반영 및 성공내역 모듈 통일} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공양식 수락 로직 검증단계 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {성공내역 생성 트랜젝션 범위 재설정} #646 * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {스크립트 버전 충돌로 인한 스크립트 이름 변경} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> --------- Co-authored-by: Baek Jihoon <[email protected]> * 대리인_및_의뢰인의_티켓팅_성공내역_생성_및_조회_기능_추가 : feat : {기존 스크립트 삭제(왜있는거지)} #646 --------- Co-authored-by: Baek Jihoon <[email protected]> * hotfix: 과거 스크립트 또 삭제 --------- Co-authored-by: Baek Jihoon <[email protected]> * 채팅방_응답데이터_리팩토링 : feat : {요구사항 반영} --------- Co-authored-by: Baek Jihoon <[email protected]> --------- Co-authored-by: Baek Jihoon <[email protected]>
1 parent cafa2f7 commit b9e1332

1 file changed

Lines changed: 49 additions & 12 deletions

File tree

ticketmate-chat/src/main/java/com/ticketmate/backend/chat/application/service/ChatMessageService.java

Lines changed: 49 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import java.time.temporal.ChronoUnit;
3535
import java.util.ArrayList;
3636
import java.util.Collections;
37+
import java.util.LinkedHashMap;
3738
import java.util.List;
3839
import java.util.Map;
3940
import java.util.UUID;
@@ -102,13 +103,23 @@ public void acknowledgeRead(ReadAckRequest ack, Member reader, String chatRoomId
102103
String unReadRedisKey = UN_READ_MESSAGE_COUNTER_KEY.formatted(chatRoomId, reader.getMemberId());
103104
redisTemplate.delete(unReadRedisKey);
104105

105-
// 채팅방 리스트에 즉시 갱신하기 위한 코드
106+
ChatMessage lastReadMessage = chatMessageRepository.findById(ack.getLastReadMessageId())
107+
.orElseThrow(() -> new CustomException(ErrorCode.MESSAGE_NOT_FOUND));
108+
109+
String preview = toPreview(lastReadMessage);
110+
String formattedSendDate = formattingSendDate(TimeUtil.toLocalDateTime(lastReadMessage.getSendDate()));
111+
106112
rabbitTemplate.convertAndSend(
107113
"",
108114
chatRabbitMqProperties.unreadRoutingKey() + reader.getMemberId(),
109-
Map.of("chatRoomId", chatRoomId,
110-
"unReadMessageCount", 0,
111-
"lastMessageId", ack.getLastReadMessageId())
115+
buildUnreadTopicPayload(
116+
chatRoomId,
117+
0L,
118+
lastReadMessage.getChatMessageId(),
119+
lastReadMessage.getChatMessageType(),
120+
preview,
121+
formattedSendDate
122+
)
112123
);
113124

114125
ChatRoom chatRoom = chatRoomService.findChatRoomById(chatRoomId);
@@ -275,14 +286,15 @@ private ChatMessage handleNewChatMessage(Member sender, ChatMessageRequest reque
275286
rabbitTemplate.convertAndSend(
276287
"",
277288
chatRabbitMqProperties.unreadRoutingKey() + chatRoomMemberId,
278-
Map.of(
279-
"chatRoomId", chatRoom.getChatRoomId(),
280-
"unReadMessageCount", count,
281-
"lastMessage", request.toPreview(),
282-
"lastMessageType", request.getType(),
283-
"sendDate", formattedSendDate,
284-
"lastMessageId", message.getChatMessageId()
285-
));
289+
buildUnreadTopicPayload(
290+
chatRoom.getChatRoomId(),
291+
count,
292+
message.getChatMessageId(),
293+
request.getType(),
294+
request.toPreview(),
295+
formattedSendDate
296+
)
297+
);
286298
}
287299
return message;
288300
}
@@ -429,4 +441,29 @@ private void updateLastMessageInfo(ChatRoom chatRoom, ChatMessage chatMessage, S
429441

430442
chatRoom.updateLastMessageType(chatMessage.getChatMessageType());
431443
}
444+
445+
private Map<String, Object> buildUnreadTopicPayload(String chatRoomId, long unReadMessageCount, String lastMessageId,
446+
ChatMessageType lastMessageType, String lastMessage, String sendDate
447+
) {
448+
Map<String, Object> payload = new LinkedHashMap<>();
449+
payload.put("lastMessageId", lastMessageId);
450+
payload.put("lastMessageType", lastMessageType);
451+
payload.put("unReadMessageCount", unReadMessageCount);
452+
payload.put("chatRoomId", chatRoomId);
453+
payload.put("lastMessage", lastMessage == null ? "" : lastMessage);
454+
payload.put("sendDate", sendDate == null ? "" : sendDate);
455+
return payload;
456+
}
457+
458+
459+
private String toPreview(ChatMessage chatMessage) {
460+
return switch (chatMessage.getChatMessageType()) {
461+
case TEXT -> nvl(chatMessage.getMessage(), "");
462+
case PICTURE -> ChatMessageType.PICTURE.getDescription();
463+
case FULFILLMENT_FORM -> ChatMessageType.FULFILLMENT_FORM.getDescription();
464+
case ACCEPTED_FULFILLMENT_FORM -> ChatMessageType.ACCEPTED_FULFILLMENT_FORM.getDescription();
465+
case REJECTED_FULFILLMENT_FORM -> ChatMessageType.REJECTED_FULFILLMENT_FORM.getDescription();
466+
case UPDATE_FULFILLMENT_FORM -> ChatMessageType.UPDATE_FULFILLMENT_FORM.getDescription();
467+
};
468+
}
432469
}

0 commit comments

Comments
 (0)