from sqlalchemy import Column, Integer, String, Float, DateTime, Date, ForeignKey from sqlalchemy.sql import func from app.models.database import Base from datetime import datetime class DailyCommunityOrderStats(Base): """每日小区订单统计数据表""" __tablename__ = "daily_community_order_stats" id = Column(Integer, primary_key=True, autoincrement=True) # 统计日期 stats_date = Column(Date, nullable=False, index=True) # 小区信息 community_id = Column(Integer, ForeignKey("communities.id"), nullable=False, index=True) community_name = Column(String(100), nullable=False) # 订单统计 order_count = Column(Integer, nullable=False, default=0) # 订单数量 total_original_amount = Column(Float, nullable=False, default=0) # 总订单金额 total_final_amount = Column(Float, nullable=False, default=0) # 总支付金额 # 元数据 create_time = Column(DateTime(timezone=True), server_default=func.now()) update_time = Column(DateTime(timezone=True), onupdate=func.now()) class Config: from_attributes = True class DailyOrderStats(Base): """每日订单总体统计数据表""" __tablename__ = "daily_order_stats" id = Column(Integer, primary_key=True, autoincrement=True) # 统计日期 stats_date = Column(Date, nullable=False, unique=True, index=True) # 订单统计 total_order_count = Column(Integer, nullable=False, default=0) # 总订单数量 total_original_amount = Column(Float, nullable=False, default=0) # 总订单金额 total_final_amount = Column(Float, nullable=False, default=0) # 总支付金额 total_communities = Column(Integer, nullable=False, default=0) # 有订单的小区数量 # 元数据 create_time = Column(DateTime(timezone=True), server_default=func.now()) update_time = Column(DateTime(timezone=True), onupdate=func.now()) class Config: from_attributes = True