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