Skip to content

[#58] Refactor/58/결제정보카드 AI판단근거섹션추가 - #59

Merged
LMS10 merged 1 commit into
mainfrom
Refactor/58/결제정보카드_AI판단근거섹션추가
May 27, 2026

Hidden character warning

The head ref may contain hidden characters: "Refactor/58/\uacb0\uc81c\uc815\ubcf4\uce74\ub4dc_AI\ud310\ub2e8\uadfc\uac70\uc139\uc158\ucd94\uac00"
Merged

[#58] Refactor/58/결제정보카드 AI판단근거섹션추가#59
LMS10 merged 1 commit into
mainfrom
Refactor/58/결제정보카드_AI판단근거섹션추가

Conversation

@LMS10

@LMS10 LMS10 commented May 25, 2026

Copy link
Copy Markdown
Owner

❓이슈

📝 Description

ReceiptPayInfo 컴포넌트에 AI 판단 근거 섹션을 추가하는 리팩토링입니다.

기존에는 inappropriateReasons 배열을 ResultChip에 넘겨 짧은 레이블 칩으로만 표시했습니다.
이번 작업에서는 각 사유 코드에 대응하는 구체적인 설명 문장을 노란 박스 형태로 노출하여,
관리자가 승인/반려 판단 시 AI 분석의 맥락을 즉시 파악할 수 있도록 개선했습니다.

사유 코드 → 설명 매핑

코드 레이블 설명
NIGHT_PAYMENT 심야 결제 결제 시간이 심야 시간대(23시~06시)에 해당합니다. 공식적인 활동 목적의 지출이 맞는지 확인해 주세요.
HOLIDAY_PAYMENT 공휴일 결제 공휴일에 발생한 결제입니다. 공식 일정 외의 지출일 수 있으니 사용 목적을 검토해 주세요.
SUSPICIOUS_ENTERTAINMENT 유흥업소 의심 가맹점 정보와 영수증 상세 품목을 분석한 결과 유흥 목적의 지출로 의심됩니다. 공동 경비 사용 목적에 맞는지 검토가 필요합니다.
SPLIT_PAYMENT_SUSPICIOUS 분할결제 의심 동일 가맹점에서 단기간 내 복수의 결제가 감지되었습니다. 결제 한도 우회를 위한 분할결제일 가능성이 있습니다.
[] (없음) 섹션 미표시

구현 방식

REASON_DESCRIPTIONS 상수

const REASON_DESCRIPTIONS: Record<InappropriateReason, { title: string; description: string }> = {
  NIGHT_PAYMENT: { title: '심야 결제', description: '...' },
  HOLIDAY_PAYMENT: { title: '공휴일 결제', description: '...' },
  SUSPICIOUS_ENTERTAINMENT: { title: '유흥업소 의심', description: '...' },
  SPLIT_PAYMENT_SUSPICIOUS: { title: '분할결제 의심', description: '...' },
};

사유 코드를 키로, title(짧은 레이블)과 description(설명 문장) 쌍을 값으로 갖는 상수를 정의했습니다.

AIJudgmentBasis 컴포넌트

  • reasons: string[] props를 받아 REASON_DESCRIPTIONS에 존재하는 유효한 값만 필터링합니다.
  • 유효한 사유가 없으면 null을 반환해 박스 자체를 렌더링하지 않습니다.
  • 복수 사유가 있을 경우 map()으로 순회하여 각각 제목 + 설명을 모두 표시합니다.

레이아웃 배치

  • 데스크톱(isLg): 기존 2열 그리드를 flex-col gap-4로 감싸고, 그리드 하단에 aiJudgmentBasis를 풀너비로 배치
  • 모바일: "AI 분석 결과" InfoItem 바로 아래에 aiJudgmentBasis 삽입

심야 결제
screencapture-localhost-3000-workspace-3-153-2026-05-26-02_14_34

공휴일 결제
screencapture-localhost-3000-workspace-3-142-2026-05-26-02_16_01

유흥업소 의심
screencapture-localhost-3000-workspace-3-157-2026-05-26-02_18_29

분할결제 의심
screencapture-localhost-3000-workspace-3-151-2026-05-26-02_15_12

복수 사유 (공휴일 결제 + 유흥업소 의심)
screencapture-localhost-3000-workspace-3-134-2026-05-26-02_16_17

🌀 PR Type

어떤 변경 사항이 있나요?

  • 새로운 기능 추가
  • 버그 수정
  • CSS 등 사용자 UI 디자인 변경
  • 코드에 영향을 주지 않는 변경사항 (오타 수정, 탭 사이즈 변경, 변수명 변경)
  • 코드 리팩토링
  • 주석 추가 및 수정
  • 문서 수정
  • 테스트 추가, 테스트 리팩토링
  • 빌드 부분 혹은 패키지 매니저 수정
  • 파일 혹은 폴더명 수정
  • 파일 혹은 폴더 삭제

✅ Checklist

PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • Branch Convention 확인

    feat/ 기능 구현, fix/ 버그 수정, refactor/ 개선

  • Base Branch 확인
  • 커밋 메시지 컨벤션 준수
  • 적절한 Label 지정
  • Assignee 및 Reviewer 지정

Test Checklist

  • 로컬 작동 확인

@LMS10
LMS10 requested a review from minzx23 May 25, 2026 17:32
@LMS10 LMS10 self-assigned this May 25, 2026
@LMS10 LMS10 added Priority: Medium 🔖 우선순위 보통 Type: Refactor ♻️ 리팩토링 labels May 25, 2026
@vercel

vercel Bot commented May 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
remate Ready Ready Preview, Comment May 25, 2026 5:32pm

@minzx23 minzx23 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이렇게 바꾸니까 더 전문적인 느낌 나네요

@LMS10
LMS10 merged commit 09a21c8 into main May 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: Medium 🔖 우선순위 보통 Type: Refactor ♻️ 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor: 결제 정보 카드 AI 판단 근거 섹션 추가

2 participants