This commit is contained in:
macbook_max
2026-10-15 20:36:59 +08:00
commit 6bf949949c
7923 changed files with 1369582 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
"""会员模块路由(/membership/*,对应《03-接口文档》第 7 章)"""
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.response import ok
from app.database import get_db
from app.deps import Identity, require_user
from app.schemas.common import RedeemReq
from app.services import membership_service
router = APIRouter(prefix="/membership", tags=["会员"])
@router.get("/plans")
async def list_plans():
return ok(membership_service.list_plans())
@router.get("/me")
async def get_my_membership(db: AsyncSession = Depends(get_db),
identity: Identity = Depends(require_user)):
return ok(await membership_service.get_my_membership(db, identity.user_id))
@router.post("/redeem")
async def redeem(req: RedeemReq, db: AsyncSession = Depends(get_db),
identity: Identity = Depends(require_user)):
return ok(await membership_service.redeem(db, identity.user_id, req.plan_code))