🔧 更新数据库连接字符串为内存数据库,并优化权限检查逻辑

This commit is contained in:
HibiKier 2025-07-07 18:13:57 +08:00
parent f77e15e147
commit 811089b3d7
2 changed files with 5 additions and 6 deletions

View File

@ -80,5 +80,5 @@ jobs:
sed -i "s/^.*\?LOG_LEVEL.*/LOG_LEVEL=${{ env.LOG_LEVEL }}/g" .env.dev sed -i "s/^.*\?LOG_LEVEL.*/LOG_LEVEL=${{ env.LOG_LEVEL }}/g" .env.dev
poetry run python3 bot_check.py poetry run python3 bot_check.py
env: env:
DB_URL: "sqlite://zhenxun.db" DB_URL: "sqlite://:memory:"
LOG_LEVEL: DEBUG LOG_LEVEL: DEBUG

View File

@ -56,7 +56,7 @@ class LevelUser(Model):
level: 权限等级 level: 权限等级
group_flag: 是否被自动更新刷新权限 0:, 1:. group_flag: 是否被自动更新刷新权限 0:, 1:.
""" """
if await cls.exists(user_id=user_id, group_id=group_id, level=level): if await cls.exists(user_id=user_id, group_id=group_id, user_level=level):
# 权限相同时跳过 # 权限相同时跳过
return return
await cls.update_or_create( await cls.update_or_create(
@ -99,8 +99,7 @@ class LevelUser(Model):
if group_id: if group_id:
if user := await cls.get_or_none(user_id=user_id, group_id=group_id): if user := await cls.get_or_none(user_id=user_id, group_id=group_id):
return user.user_level >= level return user.user_level >= level
else: elif user_list := await cls.filter(user_id=user_id).all():
if user_list := await cls.filter(user_id=user_id).all():
user = max(user_list, key=lambda x: x.user_level) user = max(user_list, key=lambda x: x.user_level)
return user.user_level >= level return user.user_level >= level
return False return False