58 lines
2.0 KiB
Python
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
|