66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
"""用户相关路由"""
|
|
from flask import Blueprint, request, jsonify
|
|
from flask_jwt_extended import jwt_required, get_jwt_identity
|
|
from services.user_service import UserService
|
|
|
|
user_bp = Blueprint('user', __name__)
|
|
|
|
|
|
@user_bp.route('/profile', methods=['GET'])
|
|
@jwt_required()
|
|
def get_profile():
|
|
"""获取用户资料"""
|
|
current_user_id = get_jwt_identity()
|
|
result, status_code = UserService.get_profile(current_user_id)
|
|
return jsonify(result), status_code
|
|
|
|
|
|
@user_bp.route('/profile', methods=['PUT'])
|
|
@jwt_required()
|
|
def update_profile():
|
|
"""更新用户资料"""
|
|
current_user_id = get_jwt_identity()
|
|
data = request.get_json()
|
|
result, status_code = UserService.update_profile(current_user_id, data)
|
|
return jsonify(result), status_code
|
|
|
|
|
|
@user_bp.route('/balance', methods=['GET'])
|
|
@jwt_required()
|
|
def get_balance():
|
|
"""获取账户余额"""
|
|
current_user_id = get_jwt_identity()
|
|
result, status_code = UserService.get_balance(current_user_id)
|
|
return jsonify(result), status_code
|
|
|
|
|
|
@user_bp.route('/transactions', methods=['GET'])
|
|
@jwt_required()
|
|
def get_transactions():
|
|
"""获取交易记录"""
|
|
current_user_id = get_jwt_identity()
|
|
page = request.args.get('page', 1, type=int)
|
|
per_page = request.args.get('per_page', 20, type=int)
|
|
result, status_code = UserService.get_transactions(current_user_id, page, per_page)
|
|
return jsonify(result), status_code
|
|
|
|
|
|
@user_bp.route('/api-calls', methods=['GET'])
|
|
@jwt_required()
|
|
def get_api_calls():
|
|
"""获取API调用记录"""
|
|
current_user_id = get_jwt_identity()
|
|
page = request.args.get('page', 1, type=int)
|
|
per_page = request.args.get('per_page', 20, type=int)
|
|
result, status_code = UserService.get_api_calls(current_user_id, page, per_page)
|
|
return jsonify(result), status_code
|
|
|
|
|
|
@user_bp.route('/stats', methods=['GET'])
|
|
@jwt_required()
|
|
def get_stats():
|
|
"""获取用户统计信息"""
|
|
current_user_id = get_jwt_identity()
|
|
result, status_code = UserService.get_stats(current_user_id)
|
|
return jsonify(result), status_code
|