Merge pull request #702 from wanxunyang/feature/app-message-log

fix: add tenant status check on token refresh
This commit is contained in:
Mark
2026-03-26 19:54:06 +08:00
committed by GitHub
2 changed files with 9 additions and 9 deletions

View File

@@ -35,10 +35,6 @@ class Tenants(Base):
api_ops_rate_limit = Column(String(100), nullable=True) # API 调用频率限制
status = Column(String(50), nullable=True, default='active') # 租户状态
# 租户功能开关字段
feature_billing = Column(Boolean, default=False, nullable=False, server_default='false', comment="是否启用收费管理菜单")
feature_user_management = Column(Boolean, default=False, nullable=False, server_default='false', comment="是否启用用户管理菜单")
# Relationship to users - one tenant has many users
users = relationship("User", back_populates="tenant")

View File

@@ -19,18 +19,22 @@ class UserRepository:
self.db = db
def get_user_by_id(self, user_id: uuid.UUID) -> Optional[User]:
"""根据ID获取用户"""
db_logger.debug(f"根据ID查询用户: user_id={user_id}")
"""根据 ID 获取用户(租户禁用时返回 None"""
db_logger.debug(f"根据 ID 查询用户user_id={user_id}")
try:
user = self.db.query(User).options(joinedload(User.tenant)).filter(User.id == user_id).first()
if user:
db_logger.debug(f"用户查询成功: {user.username} (ID: {user_id})")
# 检查租户状态,租户禁用时返回 None
if user.tenant and not user.tenant.is_active:
db_logger.warning(f"用户 {user.username} (ID: {user_id}) 所属租户 {user.tenant_id} 已被禁用")
return None
db_logger.debug(f"用户查询成功:{user.username} (ID: {user_id})")
else:
db_logger.debug(f"用户不存在: user_id={user_id}")
db_logger.debug(f"用户不存在user_id={user_id}")
return user
except Exception as e:
db_logger.error(f"根据ID查询用户失败: user_id={user_id} - {str(e)}")
db_logger.error(f"根据 ID 查询用户失败user_id={user_id} - {str(e)}")
raise
def get_user_by_email(self, email: str) -> Optional[User]: