From cd5586e616edac7ecc1ac7c696b8c1f0d015a830 Mon Sep 17 00:00:00 2001 From: liuwei Date: Wed, 5 Mar 2025 13:28:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- point_trade/main.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/point_trade/main.py b/point_trade/main.py index 958b2bf..7e5ee05 100644 --- a/point_trade/main.py +++ b/point_trade/main.py @@ -19,8 +19,8 @@ class PointTrade: def __init__(self, wcf: Wcf, gbm: GroupBotManager, db_pool: mysql.connector.pooling.MySQLConnectionPool): self.LOG = logging.getLogger(__name__) - self.wcf = wcf # 假设 wcf 对象在此类中初始化 - self.gbm = gbm # 权限功能 + self.wcf = wcf + self.gbm = gbm self.db_pool = db_pool with open("point_trade/config.toml", "rb") as f: plugin_config = tomllib.load(f) @@ -96,8 +96,11 @@ class PointTrade: (message.roomid if message.from_group() else message.sender), message.sender) return - sender_user_id, sender_wx_id, sender_wx_nick_name, sender_current_points = sender_result - sender_current_points = int(sender_current_points) + # 从字典中提取字段 + sender_user_id = sender_result['id'] + sender_wx_id = sender_result['wx_id'] + sender_wx_nick_name = sender_result['wx_nick_name'] + sender_current_points = int(sender_result['points']) # 检查发信人积分是否足够 if sender_current_points < reward_points: @@ -114,10 +117,13 @@ class PointTrade: (message.roomid if message.from_group() else message.sender), message.sender) return - recipient_user_id, recipient_wx_id, recipient_wx_nick_name, recipient_current_points = recipient_result - recipient_current_points = int(recipient_current_points) + # 从字典中提取字段 + recipient_user_id = recipient_result['id'] + recipient_wx_id = recipient_result['wx_id'] + recipient_wx_nick_name = recipient_result['wx_nick_name'] + recipient_current_points = int(recipient_result['points']) - # 使用 SQL 增量更新积分(不再在程序中计算) + # 使用 SQL 增量更新积分 try: self._update_user_points(sender_user_id, -reward_points, group_id) # 减少发送者积分 self._update_user_points(recipient_user_id, reward_points, group_id) # 增加接收者积分 @@ -155,7 +161,7 @@ class PointTrade: 查询用户的记录 :param wx_id: 用户的微信ID :param group_id: 群组ID - :return: 用户记录(id, wx_id, wx_nick_name, points) + :return: 用户记录(字典格式) """ try: with self._get_db_connection() as conn: @@ -171,10 +177,10 @@ class PointTrade: def _get_user_record_by_nick(self, wx_id, group_id): """ - 根据微信ID查询用户的记录(此处与 _get_user_record 功能相同,可优化) + 根据微信ID查询用户的记录 :param wx_id: 用户的微信ID :param group_id: 群组ID - :return: 用户记录(id, wx_id, wx_nick_name, points) + :return: 用户记录(字典格式) """ try: with self._get_db_connection() as conn: