From 813ba2c295e0f972a13d774abcca4f4fee30eafb Mon Sep 17 00:00:00 2001 From: yuliang_guo Date: Thu, 29 Jan 2026 16:29:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=89=80=E6=9C=89=E7=AD=89=E7=BA=A7?= =?UTF-8?q?=E5=A5=96=E7=AB=A0=E6=A8=A1=E5=9E=8B=E4=BD=BF=E7=94=A8=20Base?= =?UTF-8?q?=20=E8=80=8C=E9=9D=9E=20BaseModel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/models/level.py | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/backend/app/models/level.py b/backend/app/models/level.py index 239fa20..da39bf3 100644 --- a/backend/app/models/level.py +++ b/backend/app/models/level.py @@ -17,7 +17,7 @@ from sqlalchemy.orm import relationship from app.models.base import Base, BaseModel -class UserLevel(BaseModel): +class UserLevel(Base): """用户等级表""" __tablename__ = "user_levels" @@ -30,16 +30,14 @@ class UserLevel(BaseModel): max_login_streak = Column(Integer, nullable=False, default=0, comment="历史最长连续登录天数") last_login_date = Column(Date, nullable=True, comment="最后登录日期") last_checkin_at = Column(DateTime, nullable=True, comment="最后签到时间") + created_at = Column(DateTime, nullable=False, default=datetime.now) + updated_at = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now) # 关联 user = relationship("User", backref="user_level", uselist=False) - - # 不继承 is_deleted 等软删除字段 - is_deleted = None - deleted_at = None -class ExpHistory(BaseModel): +class ExpHistory(Base): """经验值历史表""" __tablename__ = "exp_history" @@ -51,16 +49,13 @@ class ExpHistory(BaseModel): description = Column(String(255), nullable=False, comment="描述") level_before = Column(Integer, nullable=True, comment="变化前等级") level_after = Column(Integer, nullable=True, comment="变化后等级") + created_at = Column(DateTime, nullable=False, default=datetime.now) # 关联 user = relationship("User", backref="exp_histories") - - # 不继承软删除字段 - is_deleted = None - deleted_at = None -class BadgeDefinition(BaseModel): +class BadgeDefinition(Base): """奖章定义表""" __tablename__ = "badge_definitions" @@ -76,16 +71,14 @@ class BadgeDefinition(BaseModel): exp_reward = Column(Integer, nullable=False, default=0, comment="奖励经验值") sort_order = Column(Integer, nullable=False, default=0, comment="排序") is_active = Column(Boolean, nullable=False, default=True, comment="是否启用") + created_at = Column(DateTime, nullable=False, default=datetime.now) + updated_at = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now) # 关联 user_badges = relationship("UserBadge", back_populates="badge") - - # 不继承软删除字段 - is_deleted = None - deleted_at = None -class UserBadge(BaseModel): +class UserBadge(Base): """用户奖章表""" __tablename__ = "user_badges" @@ -95,14 +88,11 @@ class UserBadge(BaseModel): unlocked_at = Column(DateTime, nullable=False, default=datetime.now, comment="解锁时间") is_notified = Column(Boolean, nullable=False, default=False, comment="是否已通知") notified_at = Column(DateTime, nullable=True, comment="通知时间") + created_at = Column(DateTime, nullable=False, default=datetime.now) # 关联 user = relationship("User", backref="badges") badge = relationship("BadgeDefinition", back_populates="user_badges") - - # 不继承软删除字段 - is_deleted = None - deleted_at = None class LevelConfig(Base):