看板接口

This commit is contained in:
王思川 2022-02-18 14:23:50 +08:00
parent 54f4899b60
commit c8a8d5adb1
4 changed files with 112 additions and 18 deletions

View File

@ -72,6 +72,30 @@ def FIND_DATA_FILTER(param1, param2, param3, param4, param5):
return records
def FIND_DATA_FILTER_SORT_LIMIT(param1, param2, param3, param4, param5, param6, param7):
"""
根据查询条件查询符合条件的所有数据
Parameters:
param1: str 服务器
param2: str 数据库
param3: obj 数据集
param4: obj 查询条件
param5: obj 显示字段/不显示字段
param6: str 排序
param7: int 限制返回条数
Returns:
records: list 符合条件的数据
"""
db = DB_SETTING[param1]
client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port']))
collection = client[param2][param3]
records = list(collection.find(param4, {**{'_id': False}, **param5}).sort(param6).limit(param7))
client.close()
return records
def UPSERT_DATA(param1, param2, param3, param4, param5):
"""
更新插入数据
@ -93,3 +117,60 @@ def UPSERT_DATA(param1, param2, param3, param4, param5):
client.close()
return info
def INSERT_DATA(param1, param2, param3, param4):
"""
插入一条数据
Parameters:
param1: str 服务器
param2: str 数据库
param3: str 数据集
param4: obj 插入数据
Returns:
True 执行成功
False 执行失败
"""
db = DB_SETTING[param1]
client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port']))
collection = client[param2][param3]
collection.insert_one(param4)
return True
def INSERT_DATA_MANY(param1, param2, param3, param4):
"""
插入多条数据
Parameters:
param1: str 服务器
param2: str 数据库
param3: str 数据集
param4: obj 插入数据
Returns:
True 执行成功
False 执行失败
"""
db = DB_SETTING[param1]
client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port']))
collection = client[param2][param3]
collection.insert_many(param4)
client.close()
return True
def REMOVE_COLLECTION(param1, param2, param3):
"""
清空数据表里的数据
Parameters:
param1: str 服务器
param2: str 数据库
param3: str 数据集
"""
db = DB_SETTING[param1]
client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port']))
collection = client[param2][param3]
collection.remove()
client.close()
return True

View File

@ -2,14 +2,26 @@ import time
import pandas as pd
from Board.board_db import FIND_DATA_COUNT, FIND_DATA, UPSERT_DATA, FIND_DATA_FILTER
from Board.board_db import FIND_DATA_COUNT, FIND_DATA, UPSERT_DATA, FIND_DATA_FILTER, FIND_DATA_FILTER_SORT_LIMIT, \
REMOVE_COLLECTION, INSERT_DATA_MANY, INSERT_DATA
def get_dashboard_data_impl(param):
pass
def get_dashboard_data_impl():
data = dict()
data['监测数据'] = FIND_DATA("ADMIN", "看板", "监测数据", {})[0]
service_static = FIND_DATA("ADMIN", "看板", "服务统计", {})
data['服务次数'] = {"日期": [item["日期"] for item in service_static], "次数": [item["服务次数"] for item in service_static]}
industry_distribute = FIND_DATA("ADMIN", "看板", "行业分布", {})
data['行业分布'] = [{item['行业名称']: item['公司数量']} for item in industry_distribute]
data['新增企业信息'] = FIND_DATA("ADMIN", "看板", "新增企业信息", {})
return data
def static_dashboard_data_impl(param):
def static_dashboard_data_impl():
def monitor_data():
"""
@ -20,7 +32,8 @@ def static_dashboard_data_impl(param):
data['服务次数'] = FIND_DATA_COUNT("TFSE", "评价", "评价记录", {"进行状态": "完成"})
data['留言反馈'] = 0
data['异常日志'] = 0
UPSERT_DATA("ADMIN", "看板", "监测数据", {"看板类型": "监测数据"}, data)
REMOVE_COLLECTION('ADMIN', '看板', '监测数据')
INSERT_DATA("ADMIN", "看板", "监测数据", data)
def services_static():
"""
@ -59,12 +72,16 @@ def static_dashboard_data_impl(param):
"""
新增企业信息
"""
records = FIND_DATA_FILTER_SORT_LIMIT("TFSE", "用户", "用户信息", {"已认证": ""}, {"企业ID": 1, "企业名称": 1, "注册时间": 1}, [("注册时间", -1)], 10)
REMOVE_COLLECTION('ADMIN', '看板', '新增企业信息')
INSERT_DATA_MANY('ADMIN', '看板', '新增企业信息', records)
def main_process():
monitor_data()
services_static()
industry_distribute()
new_company_info()
return 0

View File

@ -3,11 +3,10 @@ from Board.board_impl import get_dashboard_data_impl, static_dashboard_data_impl
class DashBoard:
def __init__(self):
pass
@staticmethod
def get_dashboard_data():
return get_dashboard_data_impl()
def get_dashboard_data(self):
get_dashboard_data_impl(self)
def static_dashboard_data(self):
static_dashboard_data_impl(self)
@staticmethod
def static_dashboard_data():
static_dashboard_data_impl()

View File

@ -10,11 +10,8 @@ board_route = Blueprint('board', __name__)
@verify_token
def get_dashboard_data_route(**kwargs):
import os
import json
with open(os.path.abspath(os.path.dirname(__file__) + '/static/mock_data/get_dashboard_data.json'), "r", encoding='utf-8') as f:
result = json.load(f)
dash_board = DashBoard()
result = dash_board.get_dashboard_data()
return {"info": "查询成功", "result": result}