133 lines
3.4 KiB
Python
133 lines
3.4 KiB
Python
import time
|
||
|
||
from DBHelper.MongoHelper import MongoHelper
|
||
|
||
|
||
def get_monitor_data_impl():
|
||
"""
|
||
监测数据
|
||
"""
|
||
db = MongoHelper("tfse_v0.21")
|
||
monitor_data = dict()
|
||
|
||
def log_data_impl():
|
||
monitor_data['异常日志'] = 0
|
||
|
||
def feedback_data_impl():
|
||
monitor_data['留言反馈'] = 0
|
||
|
||
def services_data_impl():
|
||
monitor_data['服务次数'] = db.find_all_data_with_count(
|
||
"企业数据",
|
||
"评价记录",
|
||
{"进行状态": "完成"}
|
||
)
|
||
|
||
def verified_company_impl():
|
||
monitor_data['认证企业'] = db.find_all_data_with_count(
|
||
"应用端",
|
||
"企业用户",
|
||
{"已认证": "是"}
|
||
)
|
||
|
||
log_data_impl()
|
||
feedback_data_impl()
|
||
services_data_impl()
|
||
verified_company_impl()
|
||
|
||
return monitor_data
|
||
|
||
|
||
def get_rating_static_impl():
|
||
"""
|
||
评价统计查询
|
||
"""
|
||
db = MongoHelper("tfse_v0.21")
|
||
|
||
# 日期正则表达式 20xx-xx-xx格式
|
||
# data_regex = "((((19|20)\d{2})-(0?(1|[3-9])|1[012])-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-(0?[13578]|1[02])-31)|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$"
|
||
# 日期匹配结果
|
||
# match_result = re.match(data_regex, start)
|
||
# 若没有匹配到需求格式日期,则默认查询起始日期是30天以前
|
||
# if not match_result:
|
||
# start = time.strftime("%Y-%m-%d", time.localtime(time.time() - 60*60*24*30))
|
||
|
||
# 默认查询起始日期是30天以前
|
||
start = time.strftime("%Y-%m-%d", time.localtime(time.time() - 60*60*24*30))
|
||
|
||
records = db.find_data_with_aggregate(
|
||
"企业数据",
|
||
"评价记录",
|
||
[
|
||
{"$match": {"进行状态": "完成", "评价完成日期": {"$gte": start}}},
|
||
{"$group": {"_id": "$评价完成日期", "count": {"$sum": 1}}},
|
||
{"$sort": {"_id": 1}}
|
||
]
|
||
)
|
||
|
||
# 聚类统计用的_id字段更名为date
|
||
result = dict()
|
||
result['日期'] = list()
|
||
result['次数'] = list()
|
||
for data in records:
|
||
result['日期'].append(data['_id'])
|
||
result['次数'].append(data['count'])
|
||
|
||
return result
|
||
|
||
|
||
def get_industry_distribute_impl():
|
||
"""
|
||
行业分布数据查询
|
||
"""
|
||
db = MongoHelper("tfse_v0.21")
|
||
|
||
records = db.find_data_with_aggregate(
|
||
"应用端",
|
||
"企业用户",
|
||
[
|
||
{"$match": {"已认证": "是"}},
|
||
{"$group": {"_id": "$一级行业", "count": {"$sum": 1}}},
|
||
{"$sort": {"_id": 1}}
|
||
]
|
||
)
|
||
|
||
result = list()
|
||
for data in records:
|
||
values = list(data.values())
|
||
result.append({values[0]: values[1]})
|
||
return result
|
||
|
||
|
||
def get_new_companies_impl(page_size, page_no):
|
||
"""
|
||
按照注册时间倒序返回新增企业信息
|
||
page_size: 每页数据条数
|
||
page_no: 当前页码
|
||
return: 查询结果
|
||
"""
|
||
db = MongoHelper("tfse_v0.21")
|
||
|
||
records = db.find_data_by_page_with_sort(
|
||
"应用端",
|
||
"企业用户",
|
||
{"已认证": "是"},
|
||
["企业ID", "企业名称", "邮箱", "注册时间"],
|
||
{"注册时间": -1},
|
||
page_size,
|
||
page_no
|
||
)
|
||
|
||
total = db.find_all_data_with_count(
|
||
"应用端",
|
||
"企业用户",
|
||
{"已认证": "是"}
|
||
)
|
||
|
||
result = {
|
||
"records": records,
|
||
"total": total
|
||
}
|
||
|
||
return result
|