- Add show_dealer_comment toggle to admin settings - Add domestic_export_customs_krw setting for cost page - Cost page now uses dynamic settings instead of hardcoded values - Enhance Visitor Stats with dedicated Country Stats card with flags - Fix hero_banners API route ordering (422 error fix) - Fix banner toggle logic to check HeroBanner table instead of car.is_banner - Add country flag emojis for 23+ countries 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
52 lines
2.2 KiB
Python
52 lines
2.2 KiB
Python
from sqlalchemy import Column, Integer, String, Float, DateTime, Boolean
|
|
from sqlalchemy.sql import func
|
|
from ..database import Base
|
|
|
|
|
|
class SystemSettings(Base):
|
|
"""시스템 설정"""
|
|
__tablename__ = "system_settings"
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
|
|
# 검색 결과 페이지 크기
|
|
search_page_size = Column(Integer, default=20)
|
|
|
|
# 마진 설정 (%)
|
|
korea_margin_percent = Column(Float, default=5.0)
|
|
mongolia_margin_percent = Column(Float, default=5.0)
|
|
|
|
# CC 코인 설정
|
|
cc_per_usdc = Column(Integer, default=10) # 1 USDC = 10 CC
|
|
cc_per_view = Column(Integer, default=1) # 차량 상세 조회 시 1 CC
|
|
cc_signup_bonus = Column(Integer, default=3) # 신규 가입 시 3 CC
|
|
cars_per_cc = Column(Integer, default=3) # 1 CC당 추천 차량 수 (기본 3대)
|
|
|
|
# 캐시 TTL (시간)
|
|
cache_ttl_hours = Column(Integer, default=2)
|
|
|
|
# 컨테이너 물류비 설정 (USD)
|
|
container_logistics_usd = Column(Integer, default=3600) # 컨테이너 물류비 $3,600
|
|
shoring_cost_usd = Column(Integer, default=300) # 쇼링비 (컨테이너 고정) $300
|
|
|
|
# 국내비용 + 수출통관비용 (KRW)
|
|
domestic_export_customs_krw = Column(Integer, default=1150000) # ₩1,150,000
|
|
|
|
# 딜러 코멘트 표시 설정
|
|
show_dealer_comment = Column(Boolean, default=True) # 딜러 코멘트 표시 여부
|
|
|
|
# 레퍼럴 보상 설정
|
|
referral_reward_enabled = Column(Boolean, default=True) # 레퍼럴 보상 활성화
|
|
referral_reward_percent = Column(Float, default=10.0) # 보상 비율 (기본 10%)
|
|
referral_reward_type = Column(String(20), default="one_time") # one_time / recurring
|
|
|
|
# 환율 가중치 설정 (%)
|
|
exchange_rate_weight_usd = Column(Float, default=0.0) # USD 가중치
|
|
exchange_rate_weight_mnt = Column(Float, default=0.0) # MNT (몽골 투그릭) 가중치
|
|
exchange_rate_weight_rub = Column(Float, default=0.0) # RUB (러시아 루블) 가중치
|
|
exchange_rate_weight_cny = Column(Float, default=0.0) # CNY (중국 위안) 가중치
|
|
|
|
# 타임스탬프
|
|
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
|
updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
|