群级别用户维护

This commit is contained in:
liuwei
2025-11-24 10:00:07 +08:00
parent 665b59e143
commit ea71fc0931
2 changed files with 22 additions and 21 deletions

View File

@@ -37,7 +37,7 @@ class XiuxianDB:
"""从连接池获取连接。业务层无需手动关闭with 语法自动释放。"""
return self.pool.get_connection()
def get_player(self, user_id: str) -> Optional[Dict[str, Any]]:
def get_player(self, user_id: str, group_id: str) -> Optional[Dict[str, Any]]:
"""读取玩家核心信息。
Args:
@@ -50,8 +50,8 @@ class XiuxianDB:
with self._conn() as conn:
with conn.cursor(dictionary=True) as cur:
cur.execute(
"SELECT user_id, group_id, dao_name, realm, spirit_root, cultivation_points, spirit_stone, status, status_until, last_cultivate_time, clan_id FROM t_xiuxian_player WHERE user_id=%s",
(user_id,)
"SELECT user_id, group_id, dao_name, realm, spirit_root, cultivation_points, spirit_stone, status, status_until, last_cultivate_time, clan_id FROM t_xiuxian_player WHERE user_id=%s AND group_id=%s",
(user_id, group_id)
)
return cur.fetchone()
except mysql.connector.Error:
@@ -86,7 +86,7 @@ class XiuxianDB:
except mysql.connector.Error:
return False
def update_player_fields(self, user_id: str, fields: Dict[str, Any]) -> bool:
def update_player_fields(self, user_id: str, group_id: str, fields: Dict[str, Any]) -> bool:
"""增量更新玩家字段。
Args:
@@ -108,7 +108,8 @@ class XiuxianDB:
cols.append(f"{k}=%s")
vals.append(v)
vals.append(user_id)
sql = f"UPDATE t_xiuxian_player SET {', '.join(cols)} WHERE user_id=%s"
vals.append(group_id)
sql = f"UPDATE t_xiuxian_player SET {', '.join(cols)} WHERE user_id=%s AND group_id=%s"
try:
with self._conn() as conn:
with conn.cursor() as cur: