17a0218b32
- 新增 mini_business_logs 表(business_id/log_date/method/content/created_by) - MiniBusiness 模型添加 logs relationship(cascade delete) - 5个端点: GET列表/POST新增/PUT编辑/DELETE删除 - 跟进方式: 电话/微信/上门/邮件/其他 - lifespan 自动建表+索引 Co-Authored-By: Claude <noreply@anthropic.com>
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
"""MiniBusinessLog — follow-up log entries for mini business opportunities."""
|
|
|
|
import uuid
|
|
from datetime import date, datetime
|
|
from sqlalchemy import String, Date, DateTime, ForeignKey, Text, func
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
|
from app.database import Base
|
|
|
|
|
|
class MiniBusinessLog(Base):
|
|
__tablename__ = "mini_business_logs"
|
|
|
|
id: Mapped[uuid.UUID] = mapped_column(
|
|
UUID(as_uuid=True), primary_key=True, default=uuid.uuid4
|
|
)
|
|
business_id: Mapped[uuid.UUID] = mapped_column(
|
|
UUID(as_uuid=True), ForeignKey("mini_business.id", ondelete="CASCADE"), index=True
|
|
)
|
|
log_date: Mapped[date] = mapped_column(Date)
|
|
method: Mapped[str] = mapped_column(String(20), default="电话")
|
|
content: Mapped[str] = mapped_column(Text, default="")
|
|
created_by: Mapped[uuid.UUID] = mapped_column(
|
|
UUID(as_uuid=True), ForeignKey("users.id")
|
|
)
|
|
created_at: Mapped[datetime] = mapped_column(
|
|
DateTime(timezone=True), server_default=func.now()
|
|
)
|
|
|
|
business: Mapped["MiniBusiness"] = relationship(back_populates="logs")
|