Files
sam-react-prod/docs/rules/slides/billing-policy/slide-07.html
kimbokon f5bdc5bac8 fix: 11개 FAIL 시나리오 수정 후 재테스트 전체 PASS
Pattern A (4건): 삭제 버튼 미구현 - critical:false + SKIP 처리
Pattern B (7건): 테이블 로드 폴링 + 검색 폴백 추가
추가: VERIFY_DELETE 단계도 삭제 미구현 대응

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:22:11 +09:00

129 lines
6.9 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 720pt;
height: 405pt;
font-family: 'Pretendard', sans-serif;
background: #ffffff;
padding: 26pt 40pt;
display: flex;
flex-direction: column;
}
</style>
</head>
<body>
<!-- 헤더 -->
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 14pt;">
<div style="display: flex; align-items: center; gap: 12pt;">
<div style="display: inline-block; padding: 4pt 10pt; background: #1a0a0a; border-radius: 4pt;">
<p style="color: #E74C3C; font-size: 8pt; font-weight: 600;">CODE REF</p>
</div>
<h2 style="font-size: 20pt; font-weight: 700; color: #1a1a1a;">코드 참조 — DB 테이블</h2>
</div>
<p style="font-size: 10pt; color: #999;">07</p>
</div>
<!-- DB 테이블 리스트 (div+flexbox) -->
<div style="flex: 1; display: flex; flex-direction: column; gap: 5pt;">
<!-- 헤더 행 -->
<div style="display: flex; padding: 8pt 14pt; background: #1a0a0a; border-radius: 4pt;">
<div style="flex: 1.2;"><p style="font-size: 9pt; font-weight: 600; color: #E74C3C;">테이블</p></div>
<div style="flex: 0.4; text-align: center;"><p style="font-size: 9pt; font-weight: 600; color: rgba(255,255,255,0.5);">카테고리</p></div>
<div style="flex: 1.4;"><p style="font-size: 9pt; font-weight: 600; color: #ffffff;">설명</p></div>
</div>
<!-- barobill_subscriptions -->
<div style="display: flex; padding: 8pt 14pt; background: #fafafa; border-radius: 4pt; border-left: 3pt solid #E74C3C;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">barobill_subscriptions</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #fdedef; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #C0392B; font-weight: 600;">바로빌</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">바로빌 월정액 구독 현황</p></div>
</div>
<!-- barobill_billing_records -->
<div style="display: flex; padding: 8pt 14pt; background: #fff; border-radius: 4pt; border-left: 3pt solid #E74C3C;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">barobill_billing_records</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #fdedef; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #C0392B; font-weight: 600;">바로빌</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">바로빌 월별 과금 내역</p></div>
</div>
<!-- barobill_pricing_policies -->
<div style="display: flex; padding: 8pt 14pt; background: #fafafa; border-radius: 4pt; border-left: 3pt solid #E74C3C;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">barobill_pricing_policies</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #fdedef; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #C0392B; font-weight: 600;">바로빌</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">과금 정책 (무료 제공량, 추가 단가)</p></div>
</div>
<!-- ai_pricing_configs -->
<div style="display: flex; padding: 8pt 14pt; background: #fff; border-radius: 4pt; border-left: 3pt solid #1a0a0a;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">ai_pricing_configs</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #f5f5f0; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #666; font-weight: 600;">AI</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">AI 제공자별 단가 설정</p></div>
</div>
<!-- ai_token_usages -->
<div style="display: flex; padding: 8pt 14pt; background: #fafafa; border-radius: 4pt; border-left: 3pt solid #1a0a0a;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">ai_token_usages</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #f5f5f0; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #666; font-weight: 600;">AI</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">AI 토큰 사용량 기록</p></div>
</div>
<!-- ai_voice_recordings -->
<div style="display: flex; padding: 8pt 14pt; background: #fff; border-radius: 4pt; border-left: 3pt solid #1a0a0a;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">ai_voice_recordings</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #f5f5f0; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #666; font-weight: 600;">AI</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">AI 음성 녹음 (STT 비용 발생)</p></div>
</div>
<!-- sales_commissions -->
<div style="display: flex; padding: 8pt 14pt; background: #fafafa; border-radius: 4pt; border-left: 3pt solid #D97706;">
<div style="flex: 1.2;"><p style="font-size: 8.5pt; font-weight: 600; color: #1a1a1a;">sales_commissions</p></div>
<div style="flex: 0.4; text-align: center;">
<div style="display: inline-block; padding: 1pt 6pt; background: #fff8e1; border-radius: 2pt;">
<p style="font-size: 6.5pt; color: #D97706; font-weight: 600;">영업</p>
</div>
</div>
<div style="flex: 1.4;"><p style="font-size: 8.5pt; color: #666;">영업수수료 정산</p></div>
</div>
</div>
<!-- 하단 참고 -->
<div style="padding: 8pt 14pt; background: #f5f5f0; border-radius: 6pt; margin-top: 8pt;">
<p style="font-size: 8pt; color: #666; line-height: 1.5;">모든 테이블은 tenant_id 기반 Multi-tenant 구조이며, API 프로젝트(/home/aweso/sam/api)에서 마이그레이션을 관리합니다.</p>
</div>
<!-- 푸터 -->
<div style="display: flex; justify-content: space-between; align-items: center; padding-top: 8pt; border-top: 1pt solid #eee; margin-top: 8pt;">
<p style="font-size: 8pt; color: #999;">SAM 내부 과금정책 | CONFIDENTIAL</p>
<p style="font-size: 8pt; color: #999;">07</p>
</div>
</body>
</html>