个股论坛重做

This commit is contained in:
2026-01-06 13:30:31 +08:00
parent a5f0f2110a
commit 20e10c04cd
2 changed files with 81 additions and 1 deletions

View File

@@ -85,20 +85,26 @@ def get_user_admin_info(user_id):
FROM community_admins
WHERE user_id = :user_id
""")
print(f"[Community API] 查询管理员信息: user_id={user_id}, type={type(user_id)}")
result = conn.execute(sql, {'user_id': int(user_id)}).fetchone()
print(f"[Community API] 查询结果: {result}")
if result:
import json
permissions = result.permissions
if isinstance(permissions, str):
permissions = json.loads(permissions)
return {
admin_info = {
'role': result.role,
'permissions': permissions or {},
'isAdmin': result.role == 'admin',
'isModerator': result.role in ['admin', 'moderator']
}
print(f"[Community API] 返回管理员信息: {admin_info}")
return admin_info
except Exception as e:
print(f"[Community API] 获取管理员信息失败: {e}")
import traceback
traceback.print_exc()
return None
@@ -277,7 +283,9 @@ def api_error(message, code=400):
def get_my_admin_status():
"""获取当前用户的管理员状态"""
user = g.current_user
print(f"[Community API] /me/admin-status 请求, user={user}")
admin_info = get_user_admin_info(user['id'])
print(f"[Community API] /me/admin-status admin_info={admin_info}")
if admin_info:
return api_response({

72
test_admin_query.py Normal file
View File

@@ -0,0 +1,72 @@
# -*- coding: utf-8 -*-
"""
测试管理员查询
运行: python test_admin_query.py
"""
from sqlalchemy import create_engine, text
# 数据库连接
engine = create_engine(
"mysql+pymysql://root:Zzl33818!@127.0.0.1:3306/stock?charset=utf8mb4"
)
def test_admin_query():
print("=" * 50)
print("测试管理员查询")
print("=" * 50)
with engine.connect() as conn:
# 1. 查看表是否存在
print("\n1. 检查 community_admins 表...")
try:
result = conn.execute(text("SHOW TABLES LIKE 'community_admins'")).fetchone()
if result:
print(" ✓ 表存在")
else:
print(" ✗ 表不存在!")
return
except Exception as e:
print(f" ✗ 错误: {e}")
return
# 2. 查看表中所有数据
print("\n2. 查看 community_admins 表中所有数据...")
try:
result = conn.execute(text("SELECT * FROM community_admins")).fetchall()
print(f"{len(result)} 条记录:")
for row in result:
print(f" - id={row.id}, user_id={row.user_id}, role={row.role}")
except Exception as e:
print(f" ✗ 错误: {e}")
# 3. 查询 user_id=65
print("\n3. 查询 user_id=65...")
try:
sql = text("SELECT role, permissions FROM community_admins WHERE user_id = :user_id")
result = conn.execute(sql, {'user_id': 65}).fetchone()
if result:
print(f" ✓ 找到记录: role={result.role}, permissions={result.permissions}")
else:
print(" ✗ 未找到 user_id=65 的记录!")
except Exception as e:
print(f" ✗ 错误: {e}")
# 4. 查询 user_id='65' (字符串)
print("\n4. 查询 user_id='65' (字符串形式)...")
try:
sql = text("SELECT role, permissions FROM community_admins WHERE user_id = :user_id")
result = conn.execute(sql, {'user_id': '65'}).fetchone()
if result:
print(f" ✓ 找到记录: role={result.role}")
else:
print(" ✗ 未找到记录")
except Exception as e:
print(f" ✗ 错误: {e}")
print("\n" + "=" * 50)
print("测试完成")
print("=" * 50)
if __name__ == '__main__':
test_admin_query()