fix: auto-fix code issues (cron)

- 修复重复导入/字段
- 修复异常处理
- 修复PEP8格式问题
- 添加类型注解
This commit is contained in:
OpenClaw Bot
2026-02-28 09:15:51 +08:00
parent 74c2daa5ef
commit 1a9b5391f7
37 changed files with 1112 additions and 19 deletions

View File

@@ -21,6 +21,7 @@ from typing import Any
logger = logging.getLogger(__name__)
class SubscriptionStatus(StrEnum):
"""订阅状态"""
@@ -31,6 +32,7 @@ class SubscriptionStatus(StrEnum):
TRIAL = "trial" # 试用中
PENDING = "pending" # 待支付
class PaymentProvider(StrEnum):
"""支付提供商"""
@@ -39,6 +41,7 @@ class PaymentProvider(StrEnum):
WECHAT = "wechat" # 微信支付
BANK_TRANSFER = "bank_transfer" # 银行转账
class PaymentStatus(StrEnum):
"""支付状态"""
@@ -49,6 +52,7 @@ class PaymentStatus(StrEnum):
REFUNDED = "refunded" # 已退款
PARTIAL_REFUNDED = "partial_refunded" # 部分退款
class InvoiceStatus(StrEnum):
"""发票状态"""
@@ -59,6 +63,7 @@ class InvoiceStatus(StrEnum):
VOID = "void" # 作废
CREDIT_NOTE = "credit_note" # 贷项通知单
class RefundStatus(StrEnum):
"""退款状态"""
@@ -68,6 +73,7 @@ class RefundStatus(StrEnum):
COMPLETED = "completed" # 已完成
FAILED = "failed" # 失败
@dataclass
class SubscriptionPlan:
"""订阅计划数据类"""
@@ -86,6 +92,7 @@ class SubscriptionPlan:
updated_at: datetime
metadata: dict[str, Any]
@dataclass
class Subscription:
"""订阅数据类"""
@@ -106,6 +113,7 @@ class Subscription:
updated_at: datetime
metadata: dict[str, Any]
@dataclass
class UsageRecord:
"""用量记录数据类"""
@@ -120,6 +128,7 @@ class UsageRecord:
description: str | None
metadata: dict[str, Any]
@dataclass
class Payment:
"""支付记录数据类"""
@@ -141,6 +150,7 @@ class Payment:
created_at: datetime
updated_at: datetime
@dataclass
class Invoice:
"""发票数据类"""
@@ -164,6 +174,7 @@ class Invoice:
created_at: datetime
updated_at: datetime
@dataclass
class Refund:
"""退款数据类"""
@@ -186,6 +197,7 @@ class Refund:
created_at: datetime
updated_at: datetime
@dataclass
class BillingHistory:
"""账单历史数据类"""
@@ -201,6 +213,7 @@ class BillingHistory:
created_at: datetime
metadata: dict[str, Any]
class SubscriptionManager:
"""订阅与计费管理器"""
@@ -2187,9 +2200,11 @@ class SubscriptionManager:
metadata=json.loads(row["metadata"] or "{}"),
)
# 全局订阅管理器实例
subscription_manager = None
def get_subscription_manager(db_path: str = "insightflow.db") -> SubscriptionManager:
"""获取订阅管理器实例(单例模式)"""
global subscription_manager