"""用户相关路由""" 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