68 lines
1.8 KiB
Python
68 lines
1.8 KiB
Python
|
from DBHelper.MongoHelperInstance import DB_TEST
|
||
|
from Modules.Functions.FinIndex.FinIndexObj import FinIndexObj
|
||
|
|
||
|
|
||
|
class ModelImpl(object):
|
||
|
|
||
|
@staticmethod
|
||
|
def new_calculate_func(**kwargs):
|
||
|
"""新建计算函数"""
|
||
|
data = kwargs['data']
|
||
|
func = FinIndexObj()
|
||
|
func.func_name = data['函数名称']
|
||
|
func.describe = data['说明']
|
||
|
func.method = data['方法']
|
||
|
func.param = list()
|
||
|
for params in data['参数']:
|
||
|
param = func.Param()
|
||
|
param.name = params['参数名']
|
||
|
param.mark = params['备注']
|
||
|
func.param.append(param)
|
||
|
func.tags = data['标签']
|
||
|
|
||
|
DB_TEST.insert_single_data(
|
||
|
'模型数据',
|
||
|
'计算函数',
|
||
|
func.fields_toggle()
|
||
|
)
|
||
|
|
||
|
return '新建成功'
|
||
|
|
||
|
@staticmethod
|
||
|
def check_calculate_func(**kwargs):
|
||
|
"""校验计算函数"""
|
||
|
func = kwargs['方法']
|
||
|
param = kwargs['参数']
|
||
|
|
||
|
try:
|
||
|
eval(func, param)
|
||
|
return '校验通过'
|
||
|
except Exception:
|
||
|
return '校验失败'
|
||
|
|
||
|
@staticmethod
|
||
|
def search_tags(**kwargs):
|
||
|
"""标签搜索"""
|
||
|
|
||
|
total = DB_TEST.find_all_data_with_count(
|
||
|
'模型数据',
|
||
|
'标签数据',
|
||
|
{'标签名称': {"$regex": kwargs['tag_name']}}
|
||
|
)
|
||
|
|
||
|
records = DB_TEST.find_data_by_page_with_sort(
|
||
|
'模型数据',
|
||
|
'标签数据',
|
||
|
{'标签名称': {"$regex": kwargs['tag_name']}},
|
||
|
['标签名称'],
|
||
|
{'标签名称': -1},
|
||
|
kwargs['page_size'],
|
||
|
kwargs['page_no']
|
||
|
)
|
||
|
|
||
|
result = {
|
||
|
"total": total,
|
||
|
"records": records
|
||
|
}
|
||
|
|
||
|
return result
|