Files
waiting-system/test_store_comparison.py
Jun-dev f699a29a85 Add waiting system application files
- Add main application files (main.py, models.py, schemas.py, etc.)
- Add routers for all features (waiting, attendance, members, etc.)
- Add HTML templates for admin and user interfaces
- Add migration scripts and utility files
- Add Docker configuration
- Add documentation files
- Add .gitignore to exclude database and cache files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-14 00:29:39 +09:00

73 lines
1.9 KiB
Python

import requests
from datetime import datetime, timedelta
# Test the store comparison API
base_url = "http://localhost:8000"
franchise_id = 1
# Calculate date range (last month)
end_date = datetime.now().date()
start_date = (datetime.now() - timedelta(days=30)).date()
url = f"{base_url}/api/franchise/stats/{franchise_id}/store_comparison"
params = {
"start_date": str(start_date),
"end_date": str(end_date)
}
print(f"Testing URL: {url}")
print(f"Parameters: {params}")
print("-" * 50)
try:
# Note: This will fail without authentication, but we can test the SQL directly
response = requests.get(url, params=params)
print(f"Status Code: {response.status_code}")
print(f"Response: {response.json()}")
except Exception as e:
print(f"Error: {e}")
print("\nTesting SQL query directly...")
import sqlite3
conn = sqlite3.connect('waiting_system.db')
cursor = conn.cursor()
query = """
SELECT s.id, s.name,
COUNT(CASE WHEN w.status = 'attended' THEN w.id ELSE NULL END) as attendance_count
FROM store s
LEFT JOIN waiting_list w ON s.id = w.store_id
AND w.status = 'attended'
AND w.attended_at >= ?
AND w.attended_at <= ?
WHERE s.franchise_id = ? AND s.is_active = 1
GROUP BY s.id, s.name
ORDER BY s.name
"""
cursor.execute(query, (
f"{start_date} 00:00:00",
f"{end_date} 23:59:59",
franchise_id
))
results = cursor.fetchall()
print("\nDirect SQL Results:")
print("-" * 50)
for row in results:
print(f"ID: {row[0]}, Name: {row[1]}, Count: {row[2]}")
# Simulate API response
print("\nSimulated API Response:")
print("-" * 50)
api_response = [
{
"store_name": row[1].replace("셀스타", "").strip(),
"count": row[2]
}
for row in results
]
print(api_response)
conn.close()