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())