model.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from datetime import datetime
  2. from sqlalchemy import JSON, DateTime, String, Text, Boolean
  3. from sqlalchemy.orm import Mapped, mapped_column
  4. from app.core.base_model import PaymentModelMixin, TenantMixin
  5. class AlipayNotifyLogModel(PaymentModelMixin):
  6. """支付宝通知日志模型"""
  7. __tablename__ = "pay_alipay_notify_log"
  8. __table_args__ = {"comment": "支付宝通知日志表"}
  9. notify_id: Mapped[str | None] = mapped_column(
  10. String(50), nullable=False, comment="通知ID"
  11. )
  12. msg_method: Mapped[str] = mapped_column(
  13. String(100), nullable=False, comment="消息接口名称"
  14. )
  15. notify_type: Mapped[str | None] = mapped_column(
  16. String(100), comment="通知类型"
  17. )
  18. message: Mapped[dict] = mapped_column(
  19. JSON, nullable=False, comment="完整的消息数据"
  20. )
  21. verify_result: Mapped[bool] = mapped_column(
  22. Boolean, nullable=False, comment="验签结果"
  23. )
  24. process_result: Mapped[bool | None] = mapped_column(
  25. Boolean, comment="处理结果"
  26. )
  27. error: Mapped[str | None] = mapped_column(
  28. Text, comment="错误信息"
  29. )
  30. received_at: Mapped[datetime] = mapped_column(
  31. DateTime, default=datetime.now, nullable=False, comment="接收时间"
  32. )