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

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