feat(weibo): 区分充值资金来源并完善协作单记录

This commit is contained in:
yml
2026-11-13 21:07:50 +08:00
parent f0abca3d58
commit 76b344eb83
11 changed files with 740 additions and 10 deletions
+54
View File
@@ -1115,6 +1115,16 @@ class WeiboExternalOrder(Base):
status: Mapped[str] = mapped_column(
String(20), default="incomplete", server_default="incomplete", index=True
)
# 余额资金来源:web_recharge / account_balance / legacy_web_recharge / unknown
funding_source: Mapped[str] = mapped_column(
String(32), default="", server_default="", index=True
)
funding_source_detail: Mapped[str] = mapped_column(
String(512), default="", server_default=""
)
funding_recharge_record_id: Mapped[int | None] = mapped_column(
Integer, nullable=True, index=True
)
recharged_at: Mapped[datetime | None] = mapped_column(UTCDateTime, nullable=True)
scripted_at: Mapped[datetime | None] = mapped_column(UTCDateTime, nullable=True)
exchange_started_at: Mapped[datetime | None] = mapped_column(
@@ -1208,6 +1218,50 @@ class WeiboExternalOrderMetric(Base):
)
class WeiboRechargeRecord(Base):
"""微博 Web 充值下单与支付状态记录。"""
__tablename__ = "weibo_recharge_records"
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
account_id: Mapped[int] = mapped_column(
ForeignKey("weibo_accounts.id", ondelete="CASCADE"),
nullable=False,
index=True,
)
order_id: Mapped[str] = mapped_column(
String(64), nullable=False, unique=True, index=True
)
pay_id: Mapped[str] = mapped_column(
String(128), nullable=False, default="", server_default="", index=True
)
amount_yuan: Mapped[int] = mapped_column(Integer, nullable=False)
single_reward: Mapped[int] = mapped_column(Integer, nullable=False)
status: Mapped[str] = mapped_column(
String(24),
nullable=False,
default="created",
server_default="created",
index=True,
)
sub_status: Mapped[str] = mapped_column(
String(64), nullable=False, default="", server_default=""
)
paid_at: Mapped[datetime | None] = mapped_column(UTCDateTime, nullable=True)
status_checked_at: Mapped[datetime | None] = mapped_column(
UTCDateTime, nullable=True
)
created_by: Mapped[int | None] = mapped_column(
ForeignKey("users.id", ondelete="SET NULL"), nullable=True
)
created_at: Mapped[datetime] = mapped_column(
UTCDateTime, default=_utcnow, index=True
)
updated_at: Mapped[datetime] = mapped_column(
UTCDateTime, default=_utcnow, onupdate=_utcnow
)
class HuyaRegisterBatch(Base):
"""虎牙自动注册批次(持久化元数据)"""