fix(card): 非会员限制存卡数 非会员限制存卡数量,默认18张

This commit is contained in:
xingc
2025-05-06 21:11:40 +08:00
parent 4a111fcbdd
commit 2b6b53b13d
4 changed files with 46 additions and 18 deletions

View File

@@ -7,7 +7,11 @@
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from core.db.models import SearchCardCache
from core.db.crud import CRUD
from core.db.models import SearchCardCache, User, UserCollection
from core.routers.auth.schema import LoginUser
from config import settings
async def get_cache_card_by_number(db_session: AsyncSession, *, cert_number: str) -> SearchCardCache | None:
@@ -16,3 +20,13 @@ async def get_cache_card_by_number(db_session: AsyncSession, *, cert_number: str
card: SearchCardCache | None = result.scalar_one_or_none()
return card
async def check_user_card_created_permission(db_session: AsyncSession, *, login_user: LoginUser) -> bool:
db_crud = CRUD(db_session, User)
user = await db_crud.get(filters={'user_id': login_user.user_id})
if user.is_vip():
return True
total = await db_crud.total(model=UserCollection, filters={'user_id': login_user.user_id})
return settings.USER_MAX_CREATED_CARD_NUM > total