2022-06-27 16:08:03 +08:00
|
|
|
from flask import Blueprint, request
|
|
|
|
|
|
|
|
from Modules.Functions.FinIndex.FinIndexImpl import FinanceIndexImpl
|
2022-06-30 14:33:49 +08:00
|
|
|
from Modules.Functions.FinIndex.FinIndexUtils import FinanceIndexUtils
|
2022-06-27 16:08:03 +08:00
|
|
|
from Utils.ErrorUtil import APIReturnError
|
|
|
|
from Utils.RouteUtil import RouteParamsCheck
|
|
|
|
|
|
|
|
finance_route = Blueprint('finance', __name__)
|
|
|
|
|
|
|
|
|
2022-06-30 14:33:49 +08:00
|
|
|
@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
|
|
|
|
|
|
|
|
|
2022-06-27 16:08:03 +08:00
|
|
|
@finance_route.route('/new_calculate_func', methods=['POST'])
|
|
|
|
def new_calculate_func_route():
|
|
|
|
"""新建指标计算函数"""
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(req=request.json, params=[
|
2022-06-30 14:33:49 +08:00
|
|
|
"func_id", "func_name", "describe", "method", "params", "tags"
|
2022-06-27 16:08:03 +08:00
|
|
|
]).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()
|
2022-06-27 16:08:03 +08:00
|
|
|
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()
|
2022-06-27 16:08:03 +08:00
|
|
|
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':
|
2022-06-30 14:33:49 +08:00
|
|
|
RouteParamsCheck(request.json, ["func_id", "func_name", "describe", "method", "params", "tags"]).required()
|
2022-06-27 16:08:03 +08:00
|
|
|
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
|
|
|
|
|
2022-07-07 15:28:39 +08:00
|
|
|
|
|
|
|
@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:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|