- Frontend: Next.js 14 with TypeScript - Backend: FastAPI with SQLAlchemy - Agent: Carmodoo sync agent - Deployment: Docker Compose based staging/production setup - Scripts: Automated deployment with rollback support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
2.0 KiB
Python
46 lines
2.0 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
|
|
|
|
# 레퍼럴 보상 설정
|
|
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())
|