52 lines
2.0 KiB
Python
52 lines
2.0 KiB
Python
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 |