feat(card): 优化卡片新增、修复搜卡改版、卡不存在抛异常 其他卡片支持自定义卡片名 修复psa页面改版 修复ccg卡不存在抛异常

This commit is contained in:
xingc
2025-04-25 17:09:18 +08:00
parent 5dd7910167
commit 0f21491ec2
3 changed files with 44 additions and 36 deletions

View File

@@ -29,7 +29,7 @@ logger = logging.getLogger(__name__)
card_router = APIRouter(prefix='/card', tags=['卡册模块'])
@card_router.get('/search', summary='搜索卡片', response_model=base_schema.BaseResponse[schema.Card])
@card_router.get('/search', summary='搜索卡片', response_model=base_schema.BaseResponse[schema.SearchCardOut])
async def get_card_search(
cert_number: str = Query(pattern='[a-zA-Z0-9]+'),
platform: base_schema.SupportPlatformType = Query(...),
@@ -190,9 +190,9 @@ async def created_card(
db_session: AsyncSession = Depends(get_async_session)
):
card_crud = CRUD(db_session, Card)
# 卡片库查询
card: Card = await card_crud.get(filters={'cert_number': payload.cert_number})
if payload.source.value != 'other':
# 卡片库查询
card: Card = await card_crud.get(filters={'cert_number': payload.cert_number})
if card is None:
# 卡片缓存库转正至卡片库, 重新查询保障数据准确性
cache_card_crud = CRUD(db_session, SearchCardCache)
@@ -232,14 +232,15 @@ async def created_card(
)
else:
card: Card = await card_crud.create(
data={
**payload.dict(exclude_none=True),
'create_user_id': login_user.user_id,
'source': payload.source.value,
},
filters={'cert_number': payload.cert_number, 'source': payload.source.value}
)
if card is None:
card: Card = await card_crud.create(
data={
**payload.dict(exclude_none=True, exclude={'reward'}),
'create_user_id': login_user.user_id,
'source': payload.source.value,
},
filters={'cert_number': payload.cert_number, 'source': payload.source.value}
)
collection_crud = CRUD(db_session, UserCollection)
record = {
@@ -250,8 +251,6 @@ async def created_card(
data=record,
filters=record
)
# if result is False:
# raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail='卡片已存入')
return {'data': card}