table_game/backend/app/routers/admin_coupon.py
2025-03-10 08:35:19 +08:00

55 lines
1.4 KiB
Python

from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from ..services.admin_coupon_service import (
create_coupon_service,
get_coupons_service,
issue_coupon_service,
delete_coupon_service
)
router = APIRouter()
class CouponCreateRequest(BaseModel):
token: str
coupon_code: str
discount_type: str
discount_amount: float
min_order_amount: float = None
valid_from: str
valid_to: str
quantity: int
class CouponIssueRequest(BaseModel):
token: str
coupon_id: int
user_id: int
@router.post("/coupons/create")
def create_coupon(request: CouponCreateRequest):
return create_coupon_service(
token=request.token,
coupon_code=request.coupon_code,
discount_type=request.discount_type,
discount_amount=request.discount_amount,
min_order_amount=request.min_order_amount,
valid_from=request.valid_from,
valid_to=request.valid_to,
quantity=request.quantity
)
@router.get("/coupons")
def get_coupons(token: str):
return get_coupons_service(token)
@router.post("/coupons/issue")
def issue_coupon(request: CouponIssueRequest):
return issue_coupon_service(
token=request.token,
coupon_id=request.coupon_id,
user_id=request.user_id
)
@router.delete("/coupons/{coupon_id}")
def delete_coupon(coupon_id: int, token: str):
return delete_coupon_service(token, coupon_id)