This commit is contained in:
aaron 2025-02-26 21:37:28 +08:00
parent 4263f3b971
commit ea29a879e4

View File

@ -16,6 +16,7 @@ from app.api.deps import get_admin_user, get_current_user
from app.models.user import UserDB
from app.core.response import success_response, error_response, ResponseModel
from datetime import datetime, timezone
from app.core.coupon_manager import CouponManager
router = APIRouter()
@ -100,24 +101,20 @@ async def issue_coupon(
if not coupon:
return error_response(code=404, message="优惠券不存在")
issued_coupons = []
# 批量创建用户优惠券
for _ in range(user_coupon.count):
db_user_coupon = UserCouponDB(
manager = CouponManager(coupon)
manager.add_coupon(
user_id=user_coupon.user_id,
coupon_id=coupon.id,
coupon_name=coupon.name,
coupon_amount=coupon.amount,
count=user_coupon.count,
expire_time=user_coupon.expire_time
)
db.add(db_user_coupon)
issued_coupons.append(db_user_coupon)
try:
db.commit()
return success_response(
message=f"成功发放 {user_coupon.count} 张优惠券",
data=[UserCouponInfo.model_validate(c) for c in issued_coupons]
message=f"成功发放 {user_coupon.count} 张优惠券"
)
except Exception as e:
db.rollback()