api-datamanager/Modules/Models/SModels/SModelRoutes.py

52 lines
1.8 KiB
Python
Raw Normal View History

2022-06-23 16:44:09 +08:00
from flask import Blueprint, request
from Modules.Models.SModels.SModelImpl import ModelImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
model_route = Blueprint('model', __name__)
@model_route.route('/new_calculate_func', methods=['POST'])
def new_calculate_func_route():
"""新建指标计算函数"""
try:
RouteParamsCheck(req=request.json, params=[
"函数名称", "说明", "方法", "参数", "标签"
]).required()
data = request.json
impl = ModelImpl()
result = impl.new_calculate_func(data=data)
return {"info": "新建指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@model_route.route('/search_tags', methods=['GET'])
def search_tags_route():
"""查询标签"""
try:
RouteParamsCheck(request.args, ["tag_name", "page_no", "page_size"]).required()
tag_name = request.args["tag_name"]
page_no = request.args["page_no"]
page_size = request.args["page_size"]
impl = ModelImpl()
result = impl.search_tags(tag_name=tag_name, page_no=page_no, page_size=page_size)
return {"info": "标签搜索", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@model_route.route('/check_calculate_func', methods=['POST'])
def check_calculate_func_route():
"""校验指标计算函数"""
try:
RouteParamsCheck(req=request.json, params=["方法", "参数"]).required()
data = request.json
impl = ModelImpl()
result = impl.check_calculate_func(data=data)
return {"info": "校验指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code