WIP on ps: 4715b0e update 接口管理

This commit is contained in:
P3ngSaM 2022-06-30 14:33:49 +08:00
commit 624a8f3ace
16 changed files with 78 additions and 48 deletions

View File

@ -8,33 +8,31 @@ from Utils.CommonUtil import CommonUtils
class FinanceIndexImpl(object):
@staticmethod
def make_new_cid():
new_cid = CommonUtils.random_code(8)
def new_calculate_func(**kwargs):
"""新建计算函数"""
data = kwargs['data']
case = DB_TEST.find_single_column(
"模型数据",
"计算函数",
{"函数ID": new_cid},
{"函数ID": data['func_id']},
"函数ID"
) is not None
while case:
new_cid = CommonUtils.random_code(8)
return new_cid
)
if case:
return '函数ID已存在'
def new_calculate_func(self, **kwargs):
"""新建计算函数"""
data = kwargs['data']
func = FinIndexObj()
func.func_id = self.make_new_cid()
func.func_name = data['函数名称']
func.describe = data['说明']
func.method = data['方法']
func.func_id = data['func_id']
func.func_name = data['func_name']
func.describe = data['describe']
func.method = data['method']
func.param = list()
for params in data['参数']:
for params in data['params']:
param = func.Param()
param.name = params['参数名']
param.mark = params['备注']
param.name = params['name']
param.mark = params['mark']
func.param.append(param)
func.tags = data['标签']
func.tags = data['tags']
func.edit_date = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
func.status = 'normal'
@ -150,18 +148,18 @@ class FinanceIndexImpl(object):
@staticmethod
def edit_calculate_func(**kwargs):
data = kwargs['data']
fid = data['函数ID']
fid = data['func_id']
func = FinIndexObj()
func.func_name = data['函数名称']
func.describe = data['说明']
func.method = data['方法']
func.func_name = data['func_name']
func.describe = data['describe']
func.method = data['method']
func.param = list()
for params in data['参数']:
for params in data['params']:
param = func.Param()
param.name = params['参数名']
param.mark = params['备注']
param.name = params['name']
param.mark = params['mark']
func.param.append(param)
func.tags = data['标签']
func.tags = data['tags']
func.edit_date = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
update_data = func.fields_toggle()

View File

@ -1,18 +1,30 @@
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()
@ -72,7 +84,7 @@ def operate_calculate_func_route():
result = impl.view_calculate_func(fid=fid)
return {"info": "查看指标计算函数", "result": result}, 200
if request.method == 'POST':
RouteParamsCheck(request.json, ["函数ID", "函数名称", "说明", "方法", "参数", "标签"]).required()
RouteParamsCheck(request.json, ["func_id", "func_name", "describe", "method", "params", "tags"]).required()
data = request.json
impl = FinanceIndexImpl()
result = impl.edit_calculate_func(data=data)

View File

@ -0,0 +1,18 @@
from DBHelper.MongoHelperInstance import DB_TEST
from Utils.CommonUtil import CommonUtils
class FinanceIndexUtils(object):
@staticmethod
def make_new_cid():
new_cid = CommonUtils.random_code(8)
case = DB_TEST.find_single_column(
"模型数据",
"计算函数",
{"函数ID": new_cid},
"函数ID"
) is not None
while case:
new_cid = CommonUtils.random_code(8)
return new_cid

Binary file not shown.

View File

@ -23,6 +23,8 @@ class TagsImpl(object):
@staticmethod
def search_tags(**kwargs):
"""标签搜索"""
type
total = DB_TEST.find_all_data_with_count(
'模型数据',
@ -81,18 +83,17 @@ class TagsImpl(object):
@staticmethod
def associate_func(**kwargs):
"""关联函数"""
tag_id = kwargs['tag_id']
func_id = kwargs['func_id']
func_name = kwargs['func_name']
data = kwargs['data']
obj = TagObj.AssociateFunc()
obj.func_id = func_id
obj.func_name = func_name
obj.func_id = data['func_id']
obj.func_name = data['func_name']
for item in data['tags_id']:
DB_TEST.update_single_data_by_add(
'模型数据',
'标签数据',
{'标签ID': tag_id},
{'标签ID': item},
{"关联函数": obj.fields_toggle()}
)

View File

@ -11,12 +11,15 @@ tags_route = Blueprint('tags', __name__)
def search_tags_route():
"""查询标签"""
try:
RouteParamsCheck(request.args, ["tag_name", "page_no", "page_size"]).required()
RouteParamsCheck(request.args, ["tag_type", "tag_name", "page_no", "page_size"]).required()
tag_type = request.args["tag_type"]
tag_name = request.args["tag_name"]
page_no = request.args["page_no"]
page_size = request.args["page_size"]
impl = TagsImpl()
result = impl.search_tags(tag_name=tag_name, page_no=page_no, page_size=page_size)
result = impl.search_tags(
tag_type=tag_type, tag_name=tag_name, page_no=page_no, page_size=page_size
)
return {"info": "标签搜索", "result": result}, 200
except APIReturnError as e:
@ -52,16 +55,14 @@ def cancel_associate_func_route():
return {"info": e.__str__()}, e.status_code
@tags_route.route('/associate_func', methods=['GET'])
@tags_route.route('/associate_func', methods=['POST'])
def associate_func_route():
"""关联函数"""
try:
RouteParamsCheck(request.args, ["tag_id", "func_id", "func_name"]).required()
tag_id = request.args['tag_id']
func_id = request.args['func_id']
func_name = request.args['func_name']
RouteParamsCheck(request.json, ["tags_id", "func_id", "func_name"]).required()
data = request.json
impl = TagsImpl()
result = impl.associate_func(tag_id=tag_id, func_id=func_id, func_name=func_name)
result = impl.associate_func(data=data)
return {"info": "关联函数", "result": result}, 200
except APIReturnError as e:

Binary file not shown.

Binary file not shown.