From 74ef2407e71e8cf715caa587dca9b769beefc548 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Mon, 7 Apr 2025 18:33:52 +0800 Subject: [PATCH] update --- app/api/endpoints/coupon.py | 9 +++++---- app/api/endpoints/coupon_activity.py | 18 +++++++++++------- app/core/coupon_manager.py | 14 +++++++++----- jobs.sqlite | Bin 24576 -> 24576 bytes 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/app/api/endpoints/coupon.py b/app/api/endpoints/coupon.py index 8f6aa13..288bb8b 100644 --- a/app/api/endpoints/coupon.py +++ b/app/api/endpoints/coupon.py @@ -120,13 +120,14 @@ async def issue_coupon( db.add(issue_record) # 批量创建用户优惠券 - manager = CouponManager(coupon) - user_coupons = [] - + user_coupons = [] for _ in range(user_coupon.count): - user_coupon_obj = manager.add_coupon( + user_coupon_obj = UserCouponDB( user_id=user_coupon.user_id, coupon_id=coupon.id, + coupon_name=coupon.name, + coupon_amount=coupon.amount, + coupon_type=coupon.coupon_type, expire_time=user_coupon.expire_time ) db.add(user_coupon_obj) diff --git a/app/api/endpoints/coupon_activity.py b/app/api/endpoints/coupon_activity.py index 45dd7e2..9ab5a81 100644 --- a/app/api/endpoints/coupon_activity.py +++ b/app/api/endpoints/coupon_activity.py @@ -205,13 +205,17 @@ async def receive_coupons( today = datetime.now().date() #过期时间:15 天 expire_time = datetime.combine(today, datetime.max.time()) + timedelta(days=config['days']) - manager = CouponManager(db) - manager.add_coupon( - user_id=current_user.userid, - coupon_id=coupon.id, - expire_time= expire_time, - count=config['count'] - ) + count=config['count'] + for _ in range(count): + user_coupon = UserCouponDB( + user_id=current_user.userid, + coupon_id=coupon_id, + coupon_name=coupon.name, + coupon_amount=coupon.amount, + coupon_type=coupon.coupon_type, + expire_time=expire_time, + ) + db.add(user_coupon) # 检查是否领取过优惠券 receive_record = db.query(CouponReceiveRecordDB).filter( diff --git a/app/core/coupon_manager.py b/app/core/coupon_manager.py index 8645c54..86371c4 100644 --- a/app/core/coupon_manager.py +++ b/app/core/coupon_manager.py @@ -27,17 +27,21 @@ class CouponManager: Returns: UserCouponDB: 创建的用户优惠券对象 + + Raises: + ValueError: 当优惠券对象不存在时抛出 """ - # 使用传入的优惠券对象 - coupon = self.coupon + # 检查优惠券对象是否存在 + if not self.coupon: + raise ValueError("优惠券对象不存在") # 发放优惠券 user_coupon = UserCouponDB( user_id=user_id, coupon_id=coupon_id, - coupon_name=coupon.name, - coupon_amount=coupon.amount, - coupon_type=coupon.coupon_type, + coupon_name=self.coupon.name, + coupon_amount=self.coupon.amount, + coupon_type=self.coupon.coupon_type, expire_time=expire_time, ) diff --git a/jobs.sqlite b/jobs.sqlite index 07da51eb77314eba25c543a22587bb507836cd3e..707156c93cc9435199c9d30a904ec93bfe017227 100644 GIT binary patch delta 82 zcmZoTz}Rqrae_4C(}^<9j88Wv{&8cot-CDq=J%q;jEo$cmBo8m*gya6XkeY{ jG}+NzX7gofSr(x9M|ma%9-ufg2Qv#}I!M=ldqxESEfOD~ delta 82 zcmZoTz}Rqrae_4C#fdV`j2Aa1S{||4)?Jo)^LtTaMn?9{%Hq8&?4Q