diff --git a/app/api/endpoints/coupon_activity.py b/app/api/endpoints/coupon_activity.py index f1b2ebc..ac979cc 100644 --- a/app/api/endpoints/coupon_activity.py +++ b/app/api/endpoints/coupon_activity.py @@ -59,13 +59,22 @@ async def get_coupon_activity( if not activity: return error_response(code=404, message="活动不存在") - # 获取活动对应的优惠券 + # 获取活动对应的优惠券,并设置数量 coupons = db.query(CouponDB).filter( CouponDB.id.in_(activity.coupon_config.keys()) - ).all() + ).all() + + activity_data = CouponActivityInfo.model_validate(activity).model_dump() - activity_data.update({'coupons': [CouponInfo.model_validate(coupon) for coupon in coupons]}) + + coupon_list = [] + for coupon in coupons: + coupon_info = CouponInfo.model_validate(coupon).model_dump() + coupon_info.update({'count': activity_data['coupon_config'][coupon.id]}) + coupon_list.append(coupon_info) + + activity_data.update({'coupons': coupon_list}) # 检查总领取次数是否超过限制 can_receive = True