Skip to content

πŸ›Β Fix: 미판맀 + κ΅¬λ§€μ œμ•ˆ -> μ±„νŒ…λ°© 생성 κ°€λŠ₯ - #403

Merged
Chungs0604 merged 1 commit into
developfrom
fix/402-미판맀+κ΅¬λ§€μ œμ•ˆ-생성가λŠ₯
Aug 13, 2026

Hidden character warning

The head ref may contain hidden characters: "fix/402-\ubbf8\ud310\ub9e4+\uad6c\ub9e4\uc81c\uc548-\uc0dd\uc131\uac00\ub2a5"
Merged

πŸ›Β Fix: 미판맀 + κ΅¬λ§€μ œμ•ˆ -> μ±„νŒ…λ°© 생성 κ°€λŠ₯#403
Chungs0604 merged 1 commit into
developfrom
fix/402-미판맀+κ΅¬λ§€μ œμ•ˆ-생성가λŠ₯

Conversation

@Chungs0604

Copy link
Copy Markdown
Collaborator

πŸ”— κ΄€λ ¨ 이슈

πŸ“Œ μž‘μ—… λ‚΄μš©

  • HIDDEN(미판맀) μƒνƒœ μƒν’ˆμ— SENT μƒνƒœ ꡬ맀 μ œμ•ˆμ΄ μ‘΄μž¬ν•˜λŠ” 경우, μ±„νŒ…λ°© 생성 ν—ˆμš©ν•˜λ„λ‘
    둜직 μˆ˜μ •
  • κΈ°μ‘΄: ON_SALE / TRADING μƒνƒœλ§Œ μ±„νŒ…λ°© 생성 κ°€λŠ₯
  • λ³€κ²½: HIDDEN + SENT ꡬ맀 μ œμ•ˆ 있음 β†’ μ±„νŒ…λ°© 생성 ν—ˆμš© / SOLD + SENT ꡬ맀 μ œμ•ˆ 있음 β†’
    κΈ°μ‘΄κ³Ό λ™μΌν•˜κ²Œ 409 λ°˜ν™˜

πŸ“Œ λ³€κ²½λœ API

  • POST /chats β€” μ±„νŒ…λ°© 생성 둜직 μˆ˜μ • (ChatRoomService.findOrCreateChatRoom)

πŸ“Œ ν…ŒμŠ€νŠΈ κ²°κ³Ό

  • ON_SALE μƒν’ˆ β†’ μ±„νŒ…λ°© 생성 βœ…
  • κΈ°μ‘΄ μ±„νŒ…λ°© 쑴재 + μƒν’ˆ HIDDEN μ „ν™˜ β†’ μ±„νŒ…λ°© μž…μž₯ βœ…
  • HIDDEN + ꡬ맀 μ œμ•ˆ μ—†μŒ β†’ 409 βœ…
  • HIDDEN + SENT ꡬ맀 μ œμ•ˆ 있음 β†’ μ±„νŒ…λ°© 생성 βœ…
  • SOLD + SENT ꡬ맀 μ œμ•ˆ 있음 β†’ 409 βœ…

πŸ“Œ 확인 ν•„μš” 사항

  • ꡬ맀 μ œμ•ˆ 수락 ν›„ TRADING μ „ν™˜ μ‹œ μ±„νŒ… 흐름 정상 λ™μž‘ μ—¬λΆ€

βœ… 체크리슀트

  • κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­μ„ μΆ©μ‘±ν–ˆλŠ”κ°€?
  • API 응닡 ν˜•μ‹μ΄ ν†΅μΌλ˜μ–΄ μžˆλŠ”κ°€?
  • μ˜ˆμ™Έ 상황이 적절히 μ²˜λ¦¬λ˜μ—ˆλŠ”κ°€?
  • 인증/인가 검증이 λˆ„λ½λ˜μ§€ μ•Šμ•˜λŠ”κ°€?
  • Entityλ₯Ό 직접 μ‘λ‹΅ν•˜μ§€ μ•Šμ•˜λŠ”κ°€?
  • 쀑볡 μ½”λ“œκ°€ κ³Όλ„ν•˜μ§€ μ•Šμ€κ°€?
  • λ©”μ„œλ“œμ™€ 클래슀의 역할이 λͺ…ν™•ν•œκ°€?
  • ν…ŒμŠ€νŠΈκ°€ ν•„μš”ν•œ 핡심 λ‘œμ§μ— ν…ŒμŠ€νŠΈκ°€ μž‘μ„±λ˜μ—ˆλŠ”κ°€?

@github-actions

Copy link
Copy Markdown

Gemini 파일 λ‹¨μœ„ μš”μ•½ 리뷰

src/main/java/com/tenure/domain/chat/service/ChatRoomService.java

λ³€κ²½ μš”μ•½

  • μ±„νŒ…λ°© 생성 및 쑰회 μ‹œ, μƒν’ˆμ΄ ON_SALE(νŒλ§€μ€‘) λ˜λŠ” TRADING(κ±°λž˜μ€‘) μƒνƒœκ°€ μ•„λ‹ˆλ”λΌλ„ κ΅¬λ§€μžκ°€ 보낸 ꡬ맀 μ œμ•ˆ(SENT μƒνƒœ)이 μ‘΄μž¬ν•˜κ³  μƒν’ˆμ΄ SOLD(νŒλ§€μ™„λ£Œ)κ°€ μ•„λ‹ˆλΌλ©΄ μ±„νŒ…λ°© μ‘°νšŒκ°€ κ°€λŠ₯ν•˜λ„λ‘ λ‘œμ§μ„ ν™•μž₯ν–ˆμŠ΅λ‹ˆλ‹€.
  • PurchaseOfferStatus.SENTλ₯Ό Static Import둜 λ³€κ²½ν•˜μ—¬ μ½”λ“œ 가독성을 κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.

영ν–₯ λ²”μœ„

  • κΈ°λŠ₯: μ±„νŒ…λ°© 생성 및 쑰회 API(findOrCreateChatRoom)에 영ν–₯을 미치며, 미판맀 μƒνƒœμ΄μ§€λ§Œ ꡬ맀 μ œμ•ˆμ΄ μ§„ν–‰ 쀑인 μ•„μ΄ν…œμ— λŒ€ν•΄μ„œλ„ μ±„νŒ…λ°© μ§„μž…μ΄ κ°€λŠ₯ν•΄μ§‘λ‹ˆλ‹€.
  • μ‹€ν–‰ 흐름/DB 호좜: μƒν’ˆμ΄ νŒλ§€μ€‘/κ±°λž˜μ€‘ μƒνƒœκ°€ 아닐 경우, purchaseOfferRepository 및 productRepository에 λŒ€ν•œ 좔가적인 μ‘°νšŒκ°€ λ™κΈ°μ μœΌλ‘œ λ°œμƒν•©λ‹ˆλ‹€.

확인 ν•„μš”

  • 차단 관계 검증 λˆ„λ½ 리슀크: enterChatroom λ©”μ„œλ“œ ν•˜λ‹¨μ—λŠ” μƒλŒ€λ°©μ˜ 차단 μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” 둜직이 μ‘΄μž¬ν•˜μ§€λ§Œ, μ±„νŒ…λ°©μ„ μƒˆλ‘œ μƒμ„±ν•˜κ±°λ‚˜ μ‘°νšŒν•˜λŠ” findOrCreateChatRoom λ‹¨κ³„μ—μ„œλŠ” ꡬ맀자(buyer)와 판맀자(owner) κ°„μ˜ 차단 관계 검증이 λˆ„λ½λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ°¨λ‹¨λœ μƒλŒ€λ°©κ³Όμ˜ μ±„νŒ…λ°© 생성을 λ°©μ§€ν•΄μ•Ό ν•˜λŠ”μ§€ 확인이 ν•„μš”ν•©λ‹ˆλ‹€.
  • buyerId의 μ‹ λ’°μ„±: findOrCreateChatRoom에 μ „λ‹¬λ˜λŠ” buyerIdκ°€ 컨트둀러 μˆ˜μ€€μ—μ„œ CurrentUserProvider.getCurrentUserId()λ₯Ό 거쳐 κ²€μ¦λœ 값인지 확인이 ν•„μš”ν•©λ‹ˆλ‹€.

μ œμ•ˆ

  • DB 호좜 μ΅œμ ν™” μ œμ•ˆ: orElseGet 블둝 λ‚΄λΆ€μ—μ„œ purchaseOfferRepository.findIdBy...와 productRepository.findByItemIdκ°€ 순차적으둜 호좜되고 μžˆμŠ΅λ‹ˆλ‹€. 이미 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μƒνƒœλ₯Ό κ²€μ¦ν•˜κΈ° μœ„ν•΄ μ—¬λŸ¬ 번의 쿼리가 λ°œμƒν•˜λ―€λ‘œ, ν•΄λ‹Ή μ•„μ΄ν…œμ˜ 정보와 μ œμ•ˆ μƒνƒœλ₯Ό Join 쿼리 ν•œ 번으둜 κ°€μ Έμ˜€κ±°λ‚˜, ν•„μš” μ΅œμ†Œν•œμ˜ 컬럼만 μ‘°νšŒν•˜λ„λ‘ λ ˆν¬μ§€ν† λ¦¬ λ©”μ„œλ“œλ₯Ό μ΅œμ ν™”ν•˜λŠ” λ°©μ•ˆμ„ μ œμ•ˆν•©λ‹ˆλ‹€.

@Chungs0604
Chungs0604 merged commit 757fc4e into develop Aug 13, 2026
2 checks passed
@Chungs0604
Chungs0604 deleted the fix/402-미판맀+κ΅¬λ§€μ œμ•ˆ-생성가λŠ₯ branch August 13, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants