From 4b07324516e00a87870e1e4c9f65b0589cff7ef2 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Wed, 12 Mar 2025 18:44:30 +0800 Subject: [PATCH] update --- app/api/endpoints/coupon_activity.py | 14 +++++--------- app/models/coupon_activity.py | 8 ++++---- jobs.sqlite | Bin 24576 -> 24576 bytes 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/app/api/endpoints/coupon_activity.py b/app/api/endpoints/coupon_activity.py index 6bcc488..997d081 100644 --- a/app/api/endpoints/coupon_activity.py +++ b/app/api/endpoints/coupon_activity.py @@ -166,17 +166,13 @@ async def check_activity_can_receive( if activity.total_limit > 0 and total_receive_count >= activity.total_limit: return False, f"优惠券活动已领完", activity - # 检查今日领取次数 - today = datetime.now().date() - - today_receive_count = db.query(func.count(CouponReceiveRecordDB.id)).filter( + # 检查用户领取次数 + user_receive_count = db.query(func.count(CouponReceiveRecordDB.id)).filter( CouponReceiveRecordDB.user_id == current_user.userid, - CouponReceiveRecordDB.activity_id == activity_id, - CouponReceiveRecordDB.receive_date == today + CouponReceiveRecordDB.activity_id == activity_id ).scalar() - - if today_receive_count >= activity.daily_limit: - return False, "今日领取次数已达上限", activity + if user_receive_count >= activity.user_limit: + return False, "你已经领过了", activity return True, "可领取", activity diff --git a/app/models/coupon_activity.py b/app/models/coupon_activity.py index cc58488..913cde8 100644 --- a/app/models/coupon_activity.py +++ b/app/models/coupon_activity.py @@ -16,7 +16,7 @@ class CouponActivityDB(Base): daily_start_time = Column(Time, nullable=False) # 每日开始时间 daily_end_time = Column(Time, nullable=False) # 每日结束时间 total_limit = Column(Integer, nullable=False, default=0) # 总可领取次数, 0表示不限制 - daily_limit = Column(Integer, nullable=False, default=1) # 每日可领取次数 + user_limit = Column(Integer, nullable=False, default=1) # 用户可领取次数 is_active = Column(Boolean, nullable=False, default=True) # 是否激活 coupon_config = Column(JSON, nullable=False) # 可领取的优惠券配置 {coupon_id: count} create_time = Column(DateTime(timezone=True), server_default=func.now()) @@ -31,7 +31,7 @@ class CouponActivityCreate(BaseModel): daily_start_time: time # 每日开始时间 "HH:MM:SS" daily_end_time: time # 每日结束时间 "HH:MM:SS" total_limit: int = Field(default=0) - daily_limit: int = Field(..., gt=0) + user_limit: int = Field(..., gt=0) coupon_config: Dict[int, int] # {coupon_id: count} is_active: bool = Field(default=True) @@ -43,7 +43,7 @@ class CouponActivityUpdate(BaseModel): daily_start_time: Optional[time] = None daily_end_time: Optional[time] = None total_limit: Optional[int] = Field(default=0) - daily_limit: Optional[int] = Field(None, gt=0) + user_limit: Optional[int] = Field(None, gt=0) coupon_config: Optional[Dict[int, int]] = None is_active: Optional[bool] = None @@ -56,7 +56,7 @@ class CouponActivityInfo(BaseModel): daily_start_time: time daily_end_time: time total_limit: int - daily_limit: int + user_limit: int coupon_config: Dict[int, int] is_active: bool create_time: datetime diff --git a/jobs.sqlite b/jobs.sqlite index a9c088bb8ad62aa3e7c3926f76af03be93317126..25091ecccc756a489866ef332980e7ac56d6e622 100644 GIT binary patch delta 19 bcmZoTz}Rqrae_4C#)&e{j2ky5EQkjHO2-G1 delta 19 bcmZoTz}Rqrae_4Cnu#*bjB7R~EQkjHN_+>1