This commit is contained in:
fengchuanhn@gmail.com
2026-05-23 10:19:27 +08:00
parent d4fb7aed4c
commit c5f12421af
5 changed files with 149 additions and 0 deletions

33
app/api/v1/card_keys.py Normal file
View File

@@ -0,0 +1,33 @@
"""用户卡密激活。"""
from fastapi import APIRouter
from app.dependencies import CurrentUser, DbSession
from app.schemas.card_key import CardKeyActivateRequest, CardKeyActivateResponse
from app.schemas.common import ApiResponse
from app.services import card_key_activate as activate_service
router = APIRouter(prefix="/card-keys", tags=["卡密"])
@router.post("/activate", response_model=ApiResponse[CardKeyActivateResponse])
async def activate_card_key(
body: CardKeyActivateRequest,
current_user: CurrentUser,
db: DbSession,
) -> ApiResponse[CardKeyActivateResponse]:
try:
data = await activate_service.activate_card_key(
db,
user=current_user,
serial_number=body.serial_number,
)
except activate_service.CardKeyActivateError as exc:
return ApiResponse(ok=False, message=exc.message)
if data.card_type == "时长":
message = f"激活成功,会员已延长 {data.added_days}"
else:
message = f"激活成功,已获得 {data.added_points} 点数"
return ApiResponse(ok=True, message=message, data=data)

View File

@@ -4,6 +4,7 @@ from app.api.v1 import (
admin_card_keys,
oem_card_keys,
agent_card_keys,
card_keys,
admin_desktop_configs,
oem_desktop_configs,
@@ -23,6 +24,7 @@ api_router = APIRouter()
api_router.include_router(oem_users.router)
api_router.include_router(oem_public.router)
api_router.include_router(auth.router)
api_router.include_router(card_keys.router)
api_router.include_router(admin_users.router)
api_router.include_router(agent_users.router)
api_router.include_router(admin_card_keys.router)