api-datamanager/Modules/Functions/FinIndex/FinIndexRoutes.py

107 lines
4.0 KiB
Python
Raw Normal View History

from flask import Blueprint, request
from Modules.Functions.FinIndex.FinIndexImpl import FinanceIndexImpl
from Modules.Functions.FinIndex.FinIndexUtils import FinanceIndexUtils
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
finance_route = Blueprint('finance', __name__)
@finance_route.route('/calculate_func_id', methods=['GET'])
def calculate_func_id_route():
"""新建指标计算函数id"""
try:
impl = FinanceIndexUtils()
result = impl.make_new_cid()
return {"info": "新增计算函数ID", "函数ID": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@finance_route.route('/new_calculate_func', methods=['POST'])
def new_calculate_func_route():
"""新建指标计算函数"""
try:
RouteParamsCheck(req=request.json, params=[
"func_id", "func_name", "describe", "method", "params", "tags"
]).required()
data = request.json
impl = FinanceIndexImpl()
result = impl.new_calculate_func(data=data)
return {"info": "新增指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@finance_route.route('/check_calculate_func', methods=['POST'])
def check_calculate_func_route():
"""校验指标计算函数"""
try:
2022-06-30 16:42:41 +08:00
RouteParamsCheck(req=request.json, params=["func_name", "func_method", "params"]).required()
data = request.json
impl = FinanceIndexImpl()
result = impl.check_calculate_func(data=data)
return {"info": "校验指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@finance_route.route('/search_calculate_func', methods=['POST'])
def search_indicators_func_route():
"""查询指标计算函数"""
try:
2022-06-28 10:17:51 +08:00
RouteParamsCheck(req=request.json, params=["sort", "page_no", "page_size"]).required()
data = request.json
impl = FinanceIndexImpl()
result = impl.search_calculate_func(data=data)
return {"info": "查询指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@finance_route.route('/lock_calculate_func', methods=['GET'])
def lock_calculate_func_route():
"""锁定指标计算函数"""
try:
RouteParamsCheck(request.args, ["fid"]).required()
fid = request.args["fid"]
impl = FinanceIndexImpl()
result = impl.lock_calculate_func(fid=fid)
return {"info": "锁定指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@finance_route.route('/operate_calculate_func', methods=['GET', 'POST'])
def operate_calculate_func_route():
"""查看/编辑函数"""
try:
if request.method == 'GET':
RouteParamsCheck(request.args, ["fid"]).required()
fid = request.args["fid"]
impl = FinanceIndexImpl()
result = impl.view_calculate_func(fid=fid)
return {"info": "查看指标计算函数", "result": result}, 200
if request.method == 'POST':
RouteParamsCheck(request.json, ["func_id", "func_name", "describe", "method", "params", "tags"]).required()
data = request.json
impl = FinanceIndexImpl()
result = impl.edit_calculate_func(data=data)
return {"info": "编辑指标计算函数", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@finance_route.route('/delete_calculate_func', methods=['GET'])
def delete_calculate_func_route():
"""删除函数"""
try:
RouteParamsCheck(request.args, ["fid"]).required()
fid = request.args["fid"]
impl = FinanceIndexImpl()
result = impl.delete_calculate_func(fid=fid)
return {"info": "删除指标计算函数", "result": result}, 200
except APIReturnError as e:
2022-07-12 10:28:05 +08:00
return {"info": e.__str__()}, e.status_code