From ebb46f769b91e6e3ce1bd7ba397e405b4e101a7f Mon Sep 17 00:00:00 2001 From: JohnRichard4096 Date: Thu, 23 Oct 2025 12:42:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=BF=E7=94=A8dataclass=E9=87=8D?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 2 +- nonebot_plugin_value/hook/context.py | 31 ++++++++++++++-------------- uv.lock | 2 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b881eff..d46ed5d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "python.analysis.autoImportCompletions": true + "python.analysis.autoImportCompletions": false } \ No newline at end of file diff --git a/nonebot_plugin_value/hook/context.py b/nonebot_plugin_value/hook/context.py index 13136ae..c801141 100644 --- a/nonebot_plugin_value/hook/context.py +++ b/nonebot_plugin_value/hook/context.py @@ -1,20 +1,21 @@ # 事件钩子上下文 -from pydantic import BaseModel, Field +from dataclasses import dataclass, field from .exception import CancelAction, DataUpdate -class TransactionContext(BaseModel): +@dataclass +class TransactionContext: """Transaction context Args: - BaseModel (BaseModel): extends pydantic BaseModel + BaseModel : extends pydantic BaseModel """ - user_id: str = Field(default_factory=str) # 用户的唯一标识ID - currency: str = Field(default_factory=str) # 货币种类 - amount: float = Field(default_factory=float) # 金额(+或-) - action_type: str = Field(default_factory=str) # 操作类型(参考Method类) + user_id: str = field(default_factory=str) # 用户的唯一标识ID + currency: str = field(default_factory=str) # 货币种类 + amount: float = field(default_factory=float) # 金额(+或-) + action_type: str = field(default_factory=str) # 操作类型(参考Method类) def cancel(self, reason: str = ""): raise CancelAction(reason) @@ -22,16 +23,16 @@ def cancel(self, reason: str = ""): def commit_update(self): raise DataUpdate(amount=self.amount) - -class TransactionComplete(BaseModel): +@dataclass +class TransactionComplete: """Transaction complete Args: - BaseModel (BaseModel): extends pydantic BaseModel + BaseModel : extends pydantic BaseModel """ - message: str = Field(default="") - source_balance: float = Field(default_factory=float) - new_balance: float = Field(default_factory=float) - timestamp: float = Field(default_factory=float) - user_id: str = Field(default_factory=str) + message: str = field(default="") + source_balance: float = field(default_factory=float) + new_balance: float = field(default_factory=float) + timestamp: float = field(default_factory=float) + user_id: str = field(default_factory=str) diff --git a/uv.lock b/uv.lock index 50b1d73..981abaf 100644 --- a/uv.lock +++ b/uv.lock @@ -808,7 +808,7 @@ default = [ [[package]] name = "nonebot-plugin-value" -version = "0.1.4.post1" +version = "0.1.6.post1" source = { virtual = "." } dependencies = [ { name = "aiofiles" }, From 75104ceb4eb27da32b884d0a99d4f7ff91ce4256 Mon Sep 17 00:00:00 2001 From: JohnRichard4096 Date: Thu, 23 Oct 2025 12:45:25 +0800 Subject: [PATCH 2/2] style:format --- nonebot_plugin_value/hook/context.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nonebot_plugin_value/hook/context.py b/nonebot_plugin_value/hook/context.py index c801141..4c03c7f 100644 --- a/nonebot_plugin_value/hook/context.py +++ b/nonebot_plugin_value/hook/context.py @@ -23,6 +23,7 @@ def cancel(self, reason: str = ""): def commit_update(self): raise DataUpdate(amount=self.amount) + @dataclass class TransactionComplete: """Transaction complete