This commit is contained in:
aaron 2025-04-07 18:33:52 +08:00
parent 623a1f97c4
commit 74ef2407e7
4 changed files with 25 additions and 16 deletions

View File

@ -120,13 +120,14 @@ async def issue_coupon(
db.add(issue_record)
# 批量创建用户优惠券
manager = CouponManager(coupon)
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)

View File

@ -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']
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(

View File

@ -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,
)

Binary file not shown.