53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
from flask import jsonify, request
|
||
from services.tenants.service import get_tenants_with_pagination, update_tenant
|
||
from .. import tenants_bp
|
||
|
||
@tenants_bp.route('', methods=['GET'])
|
||
def get_tenants():
|
||
"""获取租户列表的API端点,支持分页和条件查询"""
|
||
try:
|
||
# 获取查询参数
|
||
current_page = int(request.args.get('currentPage', 1))
|
||
page_size = int(request.args.get('size', 10))
|
||
username = request.args.get('username', '')
|
||
|
||
# 调用服务函数获取分页和筛选后的租户数据
|
||
tenants, total = get_tenants_with_pagination(current_page, page_size, username)
|
||
|
||
# 返回符合前端期望格式的数据
|
||
return jsonify({
|
||
"code": 0,
|
||
"data": {
|
||
"list": tenants,
|
||
"total": total
|
||
},
|
||
"message": "获取租户列表成功"
|
||
})
|
||
except Exception as e:
|
||
# 错误处理
|
||
return jsonify({
|
||
"code": 500,
|
||
"message": f"获取租户列表失败: {str(e)}"
|
||
}), 500
|
||
|
||
@tenants_bp.route('/<string:tenant_id>', methods=['PUT'])
|
||
def update_tenant_route(tenant_id):
|
||
"""更新租户的API端点"""
|
||
try:
|
||
data = request.json
|
||
success = update_tenant(tenant_id=tenant_id, tenant_data=data)
|
||
if success:
|
||
return jsonify({
|
||
"code": 0,
|
||
"message": f"租户 {tenant_id} 更新成功"
|
||
})
|
||
else:
|
||
return jsonify({
|
||
"code": 404,
|
||
"message": f"租户 {tenant_id} 不存在或更新失败"
|
||
}), 404
|
||
except Exception as e:
|
||
return jsonify({
|
||
"code": 500,
|
||
"message": f"更新租户失败: {str(e)}"
|
||
}), 500 |