Skip to content

๐Ÿ› Fix: ๊ด€๋ฆฌ์ž ์•Œ๋ฆผ ์ค‘๋ณต ๋ฐœ์†ก ๋ฐฉ์ง€ (chat_id ์ค‘๋ณต ์ œ๊ฑฐ) - #117

Merged
naooung merged 1 commit into
developfrom
fix/alert-dispatch-dedup
Jun 15, 2026
Merged

๐Ÿ› Fix: ๊ด€๋ฆฌ์ž ์•Œ๋ฆผ ์ค‘๋ณต ๋ฐœ์†ก ๋ฐฉ์ง€ (chat_id ์ค‘๋ณต ์ œ๊ฑฐ)#117
naooung merged 1 commit into
developfrom
fix/alert-dispatch-dedup

Conversation

@naooung

@naooung naooung commented Jun 15, 2026

Copy link
Copy Markdown
Member

์—ฐ๊ฒฐ Issue

closes #

์ž‘์—… ์œ ํ˜•

  • ๐Ÿ› Fix โ€” ๋ฒ„๊ทธ ์ˆ˜์ •

๋ณ€๊ฒฝ ๋‚ด์šฉ

๊ฒฐ์ œ ์‹คํŒจ ๋“ฑ ๊ด€๋ฆฌ์ž ์•Œ๋ฆผ์ด ๊ฐ™์€ ์ฑ„ํŒ…๋ฐฉ์— 2๋ฒˆ ์ „์†ก๋˜๋˜ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค.

์›์ธ (์šด์˜ DB๋กœ ํ™•์ •)

AlertDispatchService.dispatchForRule์ด ํ•œ ๊ทœ์น™๋‹น ๋‘ ๊ฒฝ๋กœ๋กœ ๋ฐœ์†กํ•œ๋‹ค:

  1. credential.adminChatId๋กœ ๋ฐœ์†ก
  2. recipients ์ „์›์—๊ฒŒ ๋ฐœ์†ก

์šด์˜ ๋ฐ์ดํ„ฐ์—์„œ admin_chat_id(8209833102) == recipient.chat_id(8209833102) ๋ผ, ๊ฐ™์€ ์ฑ„ํŒ…๋ฐฉ์— ๋™์ผ ๋ฉ”์‹œ์ง€๊ฐ€ 2๋ฒˆ ๊ฐ”๋‹ค. (๊ทœ์น™ยท์ˆ˜์‹ ์ž ์ค‘๋ณต์ด ์•„๋‹ˆ๋ผ admin/recipient ๊ฒฝ๋กœ ๊ฐ„ chat_id ๊ฒน์นจ + dedup ๋ถ€์žฌ)

์ˆ˜์ •

  • admin chat_id + recipients chat_id๋ฅผ LinkedHashSet์œผ๋กœ ํ•ฉ์ณ ์ค‘๋ณต ์ œ๊ฑฐ ํ›„ ๋ฐœ์†ก. null chat_id ์ œ์™ธ.
  • ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜์‹ ์ž๋กœ๋„ ๋“ฑ๋ก๋๊ฑฐ๋‚˜ ์ˆ˜์‹ ์ž๋ผ๋ฆฌ ๊ฒน์ณ๋„ ์ฑ„ํŒ…๋ฐฉ๋‹น 1ํšŒ๋งŒ.
  • ์ด dispatch๋Š” ๋ชจ๋“  ์•Œ๋ฆผ ํƒ€์ž…(PAYMENT_FAILEDยทQUERY_ERRORยทAUTH_FAILUREยทSYSTEM_ERROR ๋“ฑ) ๊ณตํ†ต์ด๋ผ ์ „์ฒด ์•Œ๋ฆผ ์ค‘๋ณต์ด ํ•จ๊ป˜ ํ•ด๊ฒฐ๋จ.

ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

  • ./gradlew test --tests "com.swez.backend.domain.admin.service.AlertDispatchServiceTest"
    • admin==recipient โ†’ sendMessage 1ํšŒ๋งŒ
    • admin != recipient โ†’ ๊ฐ 1ํšŒ(์ด 2ํšŒ)
  • ์ „์ฒด ./gradlew test BUILD SUCCESSFUL

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • develop ๋ธŒ๋žœ์น˜์—์„œ ๋ถ„๊ธฐํ–ˆ๋‹ค
  • ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ๊ทœ์น™(ํƒ€์ž…/์ž‘์—…๋‚ด์šฉ)์„ ๋”ฐ๋ž๋‹ค
  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ {๊นƒ๋ชจ์ง€} {ํƒ€์ž…}: {๋‚ด์šฉ} ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค
  • ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋™์‹œ์— ์—…๋ฐ์ดํŠธํ–ˆ๋‹ค (ํ•„์š” ์‹œ)
  • Merge ํ›„ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ ์˜ˆ์ •์ด๋‹ค

AlertDispatchService๊ฐ€ ๊ด€๋ฆฌ์ž chat_id์™€ ์ˆ˜์‹ ์ž chat_id์— ๊ฐ๊ฐ ๋ฐœ์†กํ•ด, ๊ด€๋ฆฌ์ž๊ฐ€
์ˆ˜์‹ ์ž๋กœ๋„ ๋“ฑ๋ก๋œ ๊ฒฝ์šฐ ๋™์ผ ์ฑ„ํŒ…๋ฐฉ์— ๊ฐ™์€ ์•Œ๋ฆผ์ด 2๋ฒˆ ์ „์†ก๋๋‹ค(์šด์˜ PAYMENT_FAILED
์ค‘๋ณต ๊ด€์ธก). admin + recipients chat_id๋ฅผ LinkedHashSet์œผ๋กœ ํ•ฉ์ณ ์ค‘๋ณต ์ œ๊ฑฐ ํ›„
์ฑ„ํŒ…๋ฐฉ๋‹น 1ํšŒ๋งŒ ๋ฐœ์†กํ•œ๋‹ค. ๊ฒฐ์ œ๋ฟ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์•Œ๋ฆผ ํƒ€์ž…์— ๊ณตํ†ต ์ ์šฉ๋œ๋‹ค.

- AlertDispatchServiceTest ์‹ ๊ทœ โ€” admin==recipient 1ํšŒ ๋ฐœ์†ก / ์„œ๋กœ ๋‹ค๋ฅด๋ฉด ๊ฐ 1ํšŒ
@naooung
naooung merged commit 01caff5 into develop Jun 15, 2026
1 check passed
@naooung
naooung deleted the fix/alert-dispatch-dedup branch June 15, 2026 06:04
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.

1 participant