feat(pay): 新增获取订单状态接口
This commit is contained in:
@@ -15,7 +15,7 @@ from core.db.crud import CRUD
|
||||
from core.db.engine import get_async_session
|
||||
from core.db.models import Order
|
||||
from core.routers.auth.schema import LoginUser
|
||||
from core.routers.auth.services import get_current_user
|
||||
from core.routers.auth.services import get_current_user_form_http
|
||||
from core.utils.helper import generate_keyname, generate_order_number
|
||||
from core.wechat.api import wechat_pay_api
|
||||
|
||||
@@ -26,6 +26,23 @@ logger = logging.getLogger(__name__)
|
||||
pay_router = APIRouter(prefix='/pay', tags=['支付模块'])
|
||||
|
||||
|
||||
@pay_router.get(
|
||||
'/order/check/{order_id}',
|
||||
summary='获取订单状态',
|
||||
response_model=base_schema.BaseResponse[schema.CheckOrderOut])
|
||||
async def check_order(
|
||||
order_id: str,
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
order = await CRUD(db_session, Order).get(filters={
|
||||
'order_id': order_id, 'user_id': login_user.user_id
|
||||
})
|
||||
if order is None:
|
||||
raise HTTPException(status.HTTP_404_NOT_FOUND, detail='订单不存在')
|
||||
return {'data': order}
|
||||
|
||||
|
||||
@pay_router.post(
|
||||
'/order/create',
|
||||
summary='订单创建',
|
||||
@@ -34,7 +51,7 @@ pay_router = APIRouter(prefix='/pay', tags=['支付模块'])
|
||||
async def create_order(
|
||||
request: Request,
|
||||
payload: schema.CreateOrderIn,
|
||||
login_user: LoginUser = Depends(get_current_user),
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session),
|
||||
):
|
||||
client_ip = (
|
||||
@@ -44,7 +61,7 @@ async def create_order(
|
||||
)
|
||||
out_trade_no = generate_order_number()
|
||||
prepay_id = wechat_pay_api.create_unified_order(
|
||||
**payload.dict(exclude_none=True),
|
||||
**payload.model_dump(exclude_none=True),
|
||||
out_trade_no=out_trade_no,
|
||||
spbill_create_ip=client_ip
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user