行业查询接口

This commit is contained in:
王思川 2022-02-11 14:28:16 +08:00
parent 2d3ff44c25
commit 199e7d8d3d
5 changed files with 69 additions and 7 deletions

View File

@ -33,3 +33,31 @@ def UPDATE_DATA(param1, param2, param3):
""" """
collection = CLIENT['宏观'][param1] collection = CLIENT['宏观'][param1]
collection.update_one(param2, {"$set": param3}, upsert=True) collection.update_one(param2, {"$set": param3}, upsert=True)
def FIND_DATA(param1, param2):
"""
根据查询条件查询符合条件的所有数据
Parameters:
param1: str 数据集
param2: obj 查询条件
Returns:
records: list 符合条件的数据
"""
collection = CLIENT['宏观'][param1]
records = list(collection.find(param2, {'_id': False}))
return records
def FUZZY_FIND_DATA(param1, param2):
"""
模糊查询
Parameters:
param1: str 数据集
param2: obj 查询条件
Returns:
records: list 符合条件的数据
"""
collection = CLIENT['宏观'][param1]
records = list(collection.find(param2, {'_id': False}))
return records

View File

@ -1,5 +1,21 @@
from Manage.industry.industry_db import UPDATE_DATA from Manage.industry.industry_db import UPDATE_DATA, FUZZY_FIND_DATA
from Manage.industry.industry_utils import dict_fields_map from Manage.industry.industry_utils import dict_fields_map, sub_dict
def search_industry_impl(param):
"""
搜索行业列表
Parameters:
param: str 搜索条件
Returns:
result: list 行业名称
"""
param = "" if type(param) is not str else param # 强制模糊搜索条件为str类型
records = FUZZY_FIND_DATA('行业宏观分析', {'行业': {'$regex': param}})
result = []
for record in records:
result.append(sub_dict(record, ['行业'])['行业'])
return result
def primary_industry_update_data_impl(param): def primary_industry_update_data_impl(param):

View File

@ -1,6 +1,6 @@
import time import time
from Manage.industry.industry_impl import primary_industry_update_data_impl from Manage.industry.industry_impl import primary_industry_update_data_impl, search_industry_impl
class PrimaryIndustry: class PrimaryIndustry:
@ -14,6 +14,9 @@ class PrimaryIndustry:
self.scale_distribution = None self.scale_distribution = None
self.update_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) self.update_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
def search_industry(self):
return search_industry_impl(self.name)
def update_analysis_data(self): def update_analysis_data(self):
""" """
更新行业分析数据 更新行业分析数据

View File

@ -6,16 +6,19 @@ from Manage.industry.industry_obj import PrimaryIndustry
industry_route = Blueprint('/manage/industry', __name__) industry_route = Blueprint('/manage/industry', __name__)
@industry_route.route('/search') @industry_route.route('/search', methods=['POST'])
@verify_token @verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator ']) @authority_scope(['admin', 'developer', 'analysts', 'operator'])
def search_route(**kwargs): def search_route(**kwargs):
pass pi = PrimaryIndustry()
pi.name = request.json['行业']
result = pi.search_industry()
return {"info": "查询成功", "result": result}
@industry_route.route('/get_primary_industry_data') @industry_route.route('/get_primary_industry_data')
@verify_token @verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator ']) @authority_scope(['admin', 'developer', 'analysts', 'operator'])
def get_primary_industry_data_route(**kwargs): def get_primary_industry_data_route(**kwargs):
pass pass

View File

@ -9,3 +9,15 @@ def dict_fields_map(param1, param2):
for item in param1.items(): for item in param1.items():
result[param2[item[0]]] = item[1] result[param2[item[0]]] = item[1]
return result return result
def sub_dict(param1, param2):
"""
获取字典的子集
Parameters:
param1: 原字典
param2: 子集字段
Returns:
子集
"""
return dict((key, value) for key, value in param1.items() if key in param2)