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>
This commit is contained in:
73
cleanup_waiting_simple.py
Normal file
73
cleanup_waiting_simple.py
Normal file
@@ -0,0 +1,73 @@
|
||||
"""
|
||||
대기자 일괄 출석 처리 스크립트 (간단 버전)
|
||||
|
||||
사용법:
|
||||
1. 매장 ID 확인
|
||||
2. 대기 중인 사용자를 출석 처리
|
||||
"""
|
||||
|
||||
import sqlite3
|
||||
from datetime import datetime
|
||||
|
||||
# 데이터베이스 연결
|
||||
conn = sqlite3.connect('waiting_system.db')
|
||||
cursor = conn.cursor()
|
||||
|
||||
try:
|
||||
# 1. 모든 매장 조회
|
||||
print("📋 매장 목록:")
|
||||
cursor.execute("SELECT id, name FROM store")
|
||||
stores = cursor.fetchall()
|
||||
|
||||
if not stores:
|
||||
print("❌ 매장이 없습니다.")
|
||||
else:
|
||||
for store_id, store_name in stores:
|
||||
print(f" {store_id}. {store_name}")
|
||||
|
||||
# 2. 매장 선택
|
||||
store_id = input("\n처리할 매장 ID를 입력하세요: ")
|
||||
|
||||
# 3. 대기 중인 사용자 조회
|
||||
cursor.execute("""
|
||||
SELECT id, waiting_number, name, phone, business_date
|
||||
FROM waiting_list
|
||||
WHERE store_id = ? AND status = 'waiting'
|
||||
""", (store_id,))
|
||||
|
||||
waiting_users = cursor.fetchall()
|
||||
|
||||
print(f"\n📊 대기 중인 사용자: {len(waiting_users)}명")
|
||||
|
||||
if len(waiting_users) == 0:
|
||||
print("✅ 처리할 대기자가 없습니다.")
|
||||
else:
|
||||
print("\n대기자 목록:")
|
||||
for user_id, num, name, phone, biz_date in waiting_users:
|
||||
display_name = name if name else phone[-4:] if phone else "Unknown"
|
||||
print(f" - #{num}: {display_name} ({biz_date})")
|
||||
|
||||
# 4. 확인
|
||||
confirm = input(f"\n{len(waiting_users)}명을 출석 처리하시겠습니까? (yes/no): ")
|
||||
|
||||
if confirm.lower() == 'yes':
|
||||
now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
||||
for user_id, num, name, phone, biz_date in waiting_users:
|
||||
cursor.execute("""
|
||||
UPDATE waiting_list
|
||||
SET status = 'attended', attended_at = ?
|
||||
WHERE id = ?
|
||||
""", (now, user_id))
|
||||
print(f"✅ #{num} 출석 처리")
|
||||
|
||||
conn.commit()
|
||||
print(f"\n✅ {len(waiting_users)}명 출석 처리 완료!")
|
||||
else:
|
||||
print("❌ 취소되었습니다.")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 오류 발생: {e}")
|
||||
conn.rollback()
|
||||
finally:
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user