Files
2025-12-14 15:40:49 +08:00

58 lines
2.0 KiB
Python

"""订单相关路由"""
from flask import Blueprint, request, jsonify
from flask_jwt_extended import jwt_required, get_jwt_identity
from services.order_service import OrderService
order_bp = Blueprint('order', __name__)
@order_bp.route('/create', methods=['POST'])
@jwt_required()
def create_order():
"""创建充值订单"""
current_user_id = get_jwt_identity()
data = request.get_json()
result, status_code = OrderService.create_order(current_user_id, data)
return jsonify(result), status_code
@order_bp.route('/list', methods=['GET'])
@jwt_required()
def get_orders():
"""获取订单列表"""
current_user_id = get_jwt_identity()
# 分页参数
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 20, type=int)
status = request.args.get('status')
result, status_code = OrderService.get_orders(current_user_id, page, per_page, status)
return jsonify(result), status_code
@order_bp.route('/<int:order_id>', methods=['GET'])
@jwt_required()
def get_order(order_id):
"""获取订单详情"""
current_user_id = get_jwt_identity()
result, status_code = OrderService.get_order(current_user_id, order_id)
return jsonify(result), status_code
@order_bp.route('/callback/alipay', methods=['POST'])
def alipay_callback():
"""支付宝支付回调(预留接口)"""
data = request.get_json() or request.form.to_dict()
result, status_code = OrderService.alipay_callback(data)
return jsonify(result), status_code
@order_bp.route('/callback/wechat', methods=['POST'])
def wechat_callback():
"""微信支付回调(预留接口)"""
data = request.get_json() or request.form.to_dict()
result, status_code = OrderService.wechat_callback(data)
return jsonify(result), status_code
@order_bp.route('/notify/<order_no>', methods=['POST'])
def payment_notify(order_no):
"""模拟支付通知(仅用于测试)"""
result, status_code = OrderService.payment_notify(order_no)
return jsonify(result), status_code