Commit a46c2c43 by xuxu

起名宝项目检索名称及偏好接口上传

parent bef6dce4
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/22 0022 上午 10:25
# @Author : hj
# @File : Dataoper_dao.py
# @Software: PyCharm
from db.mod_db import DataBase
class DataoperDao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_sql_1(self,cate_name):
return self.dataBase.fetch_all('select * from tj_policycycle where cate_name = "%s" order by life_cycle' % cate_name)
def select_sql_2(self,cate_name,policy_name):
return self.dataBase.fetch_one('select * from tj_policycycle where cate_name = "%s" and policy_name = "%s"' % cate_name, policy_name)
def updateData(self,life_cycle, id):
return self.dataBase.update('update tj_policycycle set life_cycle = %s where id = %s' % (life_cycle, id),None)
def insertData(self,cate_name, policy_name, life_cycle):
return self.dataBase.insert_batch('INSERT INTO `ent_data`.`tj_policycycle` (`cate_name`, `policy_name`, `life_cycle`) VALUES (%s, %s, %s)' % cate_name, policy_name, life_cycle)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/22 0022 上午 10:28
# @Author : hj
# @File : GetImageFromSql_dao.py
# @Software: PyCharm
from db.mod_db import DataBase
class Lable_Product_Dao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_label(self, companyname):
return self.dataBase.fetch_all(
"select * from `tj_lable_copy1_test_0316` where company_name = '%s'" % companyname)
def select_product(self, companyname):
return self.dataBase.fetch_all(
"SELECT * from `tj_product_result_copy1_test_0317` where companyname='%s'" % companyname)
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/22 0022 下午 2:12
# @Author : hj
# @File : Image_status_dao.py
# @Software: PyCharm
from db.mod_db import DataBase
class Image_status_Dao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_sql_1(self,companyName):
return self.dataBase.fetch_all("SELECT * from tj_reportUrl where companyname='%s'" % companyName)
def select_sql_2(self,companyName):
return self.dataBase.fetch_all("SELECT * from tj_lable_copy1_test_0316 where company_name='%s'" % companyName)
def insertData(self,companyName,currdate,hx_status,report_status,report_url):
return self.dataBase.insert_batch('insert into tj_task(companyName,submit_time,image_status,report_status,report_url) values("%s","%s","%s","%s","%s")'%(companyName,currdate,hx_status,report_status,report_url))
def select_sql_3(self,companyName,num_start,pageSize):
return self.dataBase.fetch_all('SELECT * from tj_task where companyName="%s" order by submit_time DESC,id DESC limit %s,%s' % (companyName,num_start,pageSize))
def select_sql_4(self,companyName):
return self.dataBase.fetch_all('SELECT COUNT(*) from tj_task WHERE companyName="%s"'% companyName)
\ No newline at end of file
from db.mod_db import EsBase
index = "bigdata_ic_gsb_change_1"
class ChangeMessage:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def select_branch(self,factor):
query = {
"query":{
"term":{
factor[0]:factor[1]
}
},
"sort": [
{
"change_time": "desc"
}
],
"size":"10000"
}
return self.esBase.select(index=index,body=query)
from db.mod_db import EsBase
index = "bigdata_ic_gsb_company_op"
import datetime,time,os,sys
class CompanyEs:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def select_baise(self,company_name):
query = {"query": {"bool": {"must": {"term": {"company_name.raw": company_name}}}}}
return self.esBase.select(index=index,body=query)
def select_company_body(self):
query = {"query": {"bool": {"must": []}}, "size": 9000, }
return query
def select_company(self,query):
print(query)
return self.esBase.select(index=index, body=query)
from db.mod_db import EsBase
index = "bigdata_ic_gsb_branch_1"
class BranchEs:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def select_branch(self,company_name):
query = {
"query": {
"bool": {
"must": [
{
"term": {
"company_name": company_name,
}
}
]
}
}
}
return self.esBase.select(index=index,body=query)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/22 0022 下午 2:55
# @Author : hj
# @File : online_GetlicenseImage_es.py
# @Software: PyCharm
from db.mod_db import EsBase
class online_Getlicense_Es:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def select_GXLicenses(self, companyname):
query = {"query": {"bool": {"must": {"term": {"companyName.raw": companyname}}}}}
return self.esBase.select(index="enterprise_chain_gxgy", body=query)
def select_gameLicenses_1(self, companyname):
query = {"query": {"bool": {"must": {"term": {"publishing_unit.raw": companyname}}}}}
return self.esBase.select(index="enterprise_chain_game", body=query)
def select_gameLicenses_2(self, companyname):
query = {"query": {"bool": {"must": {"term": {"operation_unit.raw": companyname}}}}}
return self.esBase.select(index="enterprise_chain_game", body=query)
def select_ICPLicenses(self, companyname):
query = {"query": {"bool": {"must": {"term": {"companyName.raw": companyname}}}}}
return self.esBase.select(index="enterprise_chain_license", body=query)
\ No newline at end of file
from db.mod_db import DataBase
from common.sql_utils import to_sql_in
class Preference:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_sql(self,type):
print("haha")
return self.dataBase.fetch_all(
'select * from check_name_preference_select where select_meaning = "%s" and state = 1 limit 4' % type)
def select_meaning(self):
print("haha")
return self.dataBase.fetch_all("select DISTINCT(select_meaning) from check_name_preference_select limit 5")
def select_word(self,word_list):
return self.dataBase.fetch_all("select * from check_name_preference_select where select_word in (%s) " % to_sql_in(word_list))
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/28 0028 上午 9:48
# @Author : hj
# @File : re_status_dao.py
# @Software: PyCharm
from db.mod_db import DataBase
class rec_status_Dao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_sql_1(self,recommend_id,status_name):
return self.dataBase.update('update tj_recommend_do_status set status_name = "%s" where recommend_id = "%s"' % (status_name,recommend_id),None)
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/5/18 0022 下午 5:43
# @Author : hj
# @File : select_hx_logo.py
# @Software: PyCharm
from db.mod_db import DataBase
class hx_logo_Dao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_hx_logo(self,input_name):
return self.dataBase.fetch_all("SELECT * FROM `tj_company_logo_url` where company_name='%s'" % input_name)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/28 0028 下午 2:26
# @Author : hj
# @File : talking_dao.py
# @Software: PyCharm
from db.mod_db import DataBase
class talking_Dao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_sql(self,already_product,recommend_product):
return self.dataBase.fetch_one('select start_text,res_text,mq_text,end_text from talking where already_product="%s" and recommend_product="%s"'%(already_product,recommend_product))
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/22 0022 下午 5:43
# @Author : hj
# @File : tf_member_dao.py
# @Software: PyCharm
from db.mod_db import DataBase
class tf_member_Dao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select_sql_1(self,input_name):
return self.dataBase.fetch_all("SELECT company_name,member_name,member_position FROM tj_member where company_name='%s'" % input_name)
def select_sql_2(self,input_name):
return self.dataBase.fetch_all("SELECT company_name,shareholder_name,subscription_funds,turn_funds,subscript_type,subscrip_time FROM tj_shareholder where company_name='%s'" % input_name)
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/22 0022 下午 5:47
# @Author : hj
# @File : tf_member_es.py
# @Software: PyCharm
from db.mod_db import EsBase
class tf_member_Es:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def Get_Data_By_Body_1(self,index_name,company_name):
query = {"query": {"match": {"companyName": company_name}}}
return self.esBase.select(index=index_name,body=query)
def Get_Data_By_Body_2(self,index_name,match_field, field_cotent):
query = {"query": {"match": {match_field: field_cotent}}}
return self.esBase.select(index=index_name,body=query)
\ No newline at end of file
# -*- coding:UTF-8 -*-
from db.mod_db import DataBase
class LableDao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select(self, company_name):
return self.dataBase.fetch_all(
"select * from `tj_label_depth_all` where company_name = '%s'" % company_name)
def select_label_slave(self, company_name):
return self.dataBase.fetch_all(
"select * from `tj_company_hx` where company_name = '%s'" % company_name)
# -*- coding:UTF-8 -*-
from db.mod_db import DataBase
class ProductDao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select(self, company_name):
return self.dataBase.fetch_all(
"select * from `tj_product_depth_final` where company_name = '%s' order by business_opportunity_id desc limit 1" % company_name)
# -*- coding:UTF-8 -*-
from db.mod_db import DataBase
from common.sql_utils import to_sql_in
class ProvideDao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select(self):
return self.dataBase.fetch_all(
"select * from `tj_provide_company` where provide_status is null limit 100")
def update_status(self,company_list):
# print(" update tj_provide_company set provide_status = 1 where id in (%s)" % to_sql_in(company_list))
self.dataBase.update(" update tj_provide_company set provide_status = 1 where id in (%s)" % to_sql_in(company_list),None)
def select_id(self, business_id):
return self.dataBase.fetch_all(
"select * from `tj_product_depth_final` where business_opportunity_id = '%s' " % (business_id))
\ No newline at end of file
# -*- coding:UTF-8 -*-
from db.mod_db import DataBase
class OriginalDao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase()
else:
self.dataBase = db
def select(self,company_name):
return self.dataBase.fetch_all("select * from `tj_standard_order` where standard_company_name = '%s' order by order_add_time desc " % company_name)
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/23 0023 上午 9:54
# @Author : hj
# @File : trade_es.py
# @Software: PyCharm
from db.mod_db import EsBase
class trade_Es:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def Get_Data_By_Body(self,companyNames):
query = {
"query": {
"bool": {
"must": [
{
"term": {
"company_name.raw": companyNames
}
}
]
}
}
}
return self.esBase.select(index='bigdata_ic_gsb_company_op',body=query)
\ No newline at end of file
from db.mod_db import EsBase
index = "treasure_name"
import datetime,time,os,sys
class NameEs:
def __init__(self, es=None):
if es is None:
self.esBase = EsBase()
else:
self.esBase = es
def select_name(self,name_type,name_size,city,cate,size):
query = {
"from": 0,
"size": size,
"query": {
"bool": {
"must": [
{
"term": {
"name_type": name_type
}
},
{
"term": {
"name_size": name_size
}
},
{
"term": {
"gsb_city": city
}
},
{
"term": {
"gsb_company_cate": cate
}
},
{
"term": {
"state": 1
}
},
]
}
},
"sort": {
"_script": {
"script": "Math.random()",
"type": "number",
"order": "asc"
}
}
}
print(query)
return self.esBase.select(index=index,body=query)
def select_null(self,size):
query = {
"query": {
"bool": {
"must_not": {
"exists": {
"field": "name_type"
}
}
}
},
"size":size
}
print(query)
return self.esBase.select(index=index, body=query)
[database] [database]
dbhost=47.95.76.74 dbhost=47.95.76.74
dbport=3306 dbport=3306
dbname=ent_data dbname=logo_msg
dbuser=root dbuser=root
dbpassword=Gongsibao2018 dbpassword=Gongsibao2018
dbcharset=utf8 dbcharset=utf8
...@@ -9,8 +9,8 @@ dbcharset=utf8 ...@@ -9,8 +9,8 @@ dbcharset=utf8
[es] [es]
eshost=43.247.184.94 eshost=http://es-cn-zz11nl9y20001gczg.public.elasticsearch.aliyuncs.com
esport=9200 esport=9200
esuser=admines esuser=elastic
espassword=adminGSB. espassword=w3OL+51eo*)c=^7
escharset=utf8 escharset=utf8
#-*- encoding:utf-8 -*-
#!/usr/bin/python
from dao.Dataoper_dao import DataoperDao
from db.mod_db import DataBase
import time
class Datao:
def Getdata(self,cate_name,establishment_time):
try:
Dataoper = DataoperDao()
# 将时间戳转化为年
struct_time = time.localtime(establishment_time) # 得到结构化时间格式
establishment_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time).split('-')[0]
establishment_time = int(establishment_time)
print(establishment_time, "======establishment_time")
re1 = Dataoper.select_sql_1(cate_name)
if re1:
list = []
for ree in re1:
if ree:
policy_name = ree["policy_name"]
life_cycle = ree["life_cycle"]
life_cycle = int(life_cycle)
life_year = establishment_time + life_cycle
dict = {}
dict[policy_name] = life_year
list.append(dict)
return 1, list
else:
DataInfo = DataBase()
DataInfo.close()
return 0, {}
except:
DataInfo = DataBase()
DataInfo.close()
return -1, {}
def InsertData(self,datainfo):
# 数据库连接
try:
Dataoper = DataoperDao()
for data in datainfo:
cate_name = data["cate_name"]
policy_name = data["policy_name"]
life_cycle = data["life_cycle"]
re1 = Dataoper.select_sql_2(cate_name, policy_name)
if re1:
id = re1["id"]
Dataoper.updateData(life_cycle, id)
else:
Dataoper.insertData(cate_name, policy_name, life_cycle)
DataInfo = DataBase()
DataInfo.close()
return 1
except FileExistsError as e:
DataInfo = DataBase()
DataInfo.roll_back()
DataInfo.close()
return 0
# 下面一句的作用1是:运行本程序文件时执行什么操作
if __name__ == "__main__":
#查询数据
cate_name = "文化、体育和娱乐业"
DataoInfo = Datao()
re1,re2 = DataoInfo.Getdata(cate_name)
print(str(re1))
print(str(re2))
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/3/19 10:54
# @Author : fanhui
# @File : GetImageFromSql.py
# @Software: PyCharm
"""企业画像和推荐商机"""
#读取数据库,获取画像标签
from flask import request,jsonify
from dao.GetImageFromSql_dao import Lable_Product_Dao
from db.mod_db import DataBase
from common import re_companyName
#检索企业画像信息
def GetImageFromSql(companyname):
print(companyname,"===========获取公司名称查询画像信息")
# 查询数据库
image_result = [] #画像列表
try:
# 执行SQL语句
lable = Lable_Product_Dao()
# 获取所有配置列表
Allproduct_rules = lable.select_label(companyname)
print(Allproduct_rules,"=====")
for row in Allproduct_rules:
# 获取所有规则
image_result=row['company_lable']
print(image_result)
except:
return ("没有查询到该公司画像信息")
finally:
DataInfo = DataBase()
DataInfo.close()
if image_result:
image_result = image_result.replace("[","").replace("]","").replace('"',"").replace("'","").replace(",",",")
imageresult=list(image_result.split(","))
print(type(imageresult),"%%%%%%%")
else:imageresult=image_result
return imageresult
#检索产品信息
def GetProductFromSql(companyname):
print(companyname,"===========获取公司名称查询产品推荐信息")
# 查询数据库
product_result = [] #产品列表
try:
product = Lable_Product_Dao()
Allproduct_rules = product.select_product(companyname)
print(Allproduct_rules)
for row in Allproduct_rules:
# 获取所有规则
product_result=row['product_result']
# print(type(product_result),product_result)
except:
return ("没有查询到该公司产品推荐信息")
finally:
DataInfo = DataBase()
DataInfo.close()
if product_result:
product_result = product_result.replace("[","").replace("]","").replace('"',"").replace("'","").replace(",",",").replace(" ","")
print(product_result)
productresult=list(product_result.split(","))
print(type(productresult),"%%%%%%%")
else:productresult=product_result
return productresult
def getImageInfo(server):
@server.route('/gsb/api/GetHtmlInfoFromSql', methods=['POST'])
def GetImageInfo():
print("接口调用--------查询画像标签和产品推荐信息")
result={}
try:
if request.method == 'POST':
requestdata = request.json
print(requestdata)
companyname = requestdata.get('companyname')
companyname = re_companyName.strQ2B(companyname)
Image_result = GetImageFromSql(companyname)
product_result = GetProductFromSql(companyname)
result = {"status":200,"msg":"操作成功","image": Image_result,"product": product_result}
except:
result = {"status":404,"msg":"操作失败","image": "-","product": "-"}
return jsonify(result)
# server.run(host='127.0.0.1', port=9001, debug=True)
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/3/27 9:10
# @Author : huangjing
# @File : Image_status.py
# @Software: PyCharm
from dao.Image_status_dao import Image_status_Dao
from db.mod_db import DataBase
from flask import request,jsonify
from common import re_companyName
"""任务表"""
# 根据传入公司名称获取专利报告链接及状态
def GetReportInfoFromSql(companyName):
# 检索企业画像信息
print(companyName, "===========获取公司名称查询专利信息")
# 查询数据库
report_dict = {"report_status": "生成中", "report_url": ""}
try:
# 执行SQL语句
Image_status = Image_status_Dao()
Allreport_rules = Image_status.select_sql_1(companyName)
print(Allreport_rules,"===Allreport_rules")
for row in Allreport_rules:
# 获取所有数据
url_result = row["report_url"]
if url_result:
report_dict["report_status"] = "已完成"
report_dict["report_url"] = url_result
print(report_dict)
finally:
DataInfo = DataBase()
DataInfo.close()
return report_dict
# 根据传入公司名称获取画像状态
def GetImageInfoFromSql(companyName):
# 检索企业画像信息
print(companyName, "===========获取公司名称查询画像信息")
# 查询数据库
status = "生成中"
try:
# 执行SQL语句
Image_status = Image_status_Dao()
Allproduct_rules = Image_status.select_sql_2(companyName)
print(Allproduct_rules)
for row in Allproduct_rules:
# 获取所有数据
image_result = row['company_lable']
if image_result:
status = "已完成"
print(status)
except:
# return ("没有查询到该公司画像信息")
return status
finally:
DataInfo = DataBase()
DataInfo.close()
return status
# 将获取的信息写入数据库
def WritePRtoSql(companyName, currdate, hx_status, report_dict): # 把推荐结果写进数据库
print(report_dict, "将公司信息写入数据库")
report_status = report_dict["report_status"]
report_url = report_dict["report_url"]
# json写入数据库
try:
Image_status = Image_status_Dao()
Image_status.insertData(companyName, currdate, hx_status, report_status, report_url)
except Exception as e:
print(e)
DataInfo = DataBase()
DataInfo.roll_back()
# 关闭数据库连接
DataInfo = DataBase()
DataInfo.close()
return "查询信息已写入数据库"
# 根据传入公司名称查询画像状态表,返回任务信息
def GetImageStatusFromSql(companyName, pageSize, pageNum):
# 检索企业画像状态表
print(companyName, "===========获取公司名称查询画像状态信息")
# 查询数据库
search_list = []
num_start = (pageNum - 1) * pageSize
print(num_start, "================num_start")
try:
Image_status = Image_status_Dao()
Allsearch_result = Image_status.select_sql_3(companyName, num_start, pageSize)
print(Allsearch_result,"=====Allsearch_result")
r = 0
for row in Allsearch_result:
# 获取所有数据
image_status = row['image_status']
report_status = row['report_status']
if image_status == "已完成" and report_status == "已完成":
status = "已完成"
else:
status = "生成中"
r += 1
search_dict = {
"companyName": row['companyName'],
"submit_time": row['submit_time'],
"status": status,
"patent_link": row['report_url']}
search_list.append(search_dict)
finally:
DataInfo = DataBase()
DataInfo.close()
return search_list
def work_total(companyName):
# 检索企业画像状态表
print(companyName, "===========获取公司名称查询总数量")
# 查询数据库
total = ""
# 执行SQL语句
# print(sql,"===================sql查询")
# 获取所有配置列表
Image_status = Image_status_Dao()
Allsearch_result = Image_status.select_sql_4(companyName)
# print(Allsearch_result,"===Allsearch_result")
for row in Allsearch_result:
total = row['COUNT(*)']
print(total, "=======")
DataInfo = DataBase()
DataInfo.close()
return total
def imageInfo(server):
@server.route('/gsb/api/ImageStatusSearch', methods=['POST'])
def ImageStatusSearch():
print("接口调用--------查询画像状态")
result = {}
try:
if request.method == 'POST':
requestdata = request.json
print(requestdata)
# 当前页数
pageNum = requestdata.get('pageNum')
# 是否插入表
insert_status = requestdata.get('insert_status')
print(insert_status, type(insert_status), "==========================insert")
# 每页展示的条数
pageSize = requestdata.get('pageSize')
# 公司名称
companyName = requestdata.get('companyName')
companyName = re_companyName.strQ2B(companyName)
# 提交日期
currdate = requestdata.get('currdate')
# 根据公司名称查询画像标签库、画像状态
hx_status = GetImageInfoFromSql(companyName)
report_dict = GetReportInfoFromSql(companyName)
if insert_status == 1:
WritePRtoSql(companyName, currdate, hx_status, report_dict)
result["status"] = 200
result["msg"] = "操作成功"
result["result_data"] = GetImageStatusFromSql(companyName, pageSize, pageNum)
result["total"] = work_total(companyName)
else:
result["status"] = 200
result["msg"] = "操作成功"
result["result_data"] = GetImageStatusFromSql(companyName, pageSize, pageNum)
result["total"] = work_total(companyName)
except:
result["status"] = 404
result["msg"] = "操作失败"
result["result_data"] = "-"
result["total"] = "-"
return jsonify(result)
# server.run(host='127.0.0.1', port=8100, debug=True)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/5/14 0014 11:04
# @Author : guopeng
# @File : change_message.py
# @Software: PyCharm Community Edition
from flask import request
import json
from common.re_companyName import strQ2B
from dao.change_message_es import ChangeMessage
# 内网IP
# esip = "172.16.18.110"
# esprot = "9201"
# esip = "43.247.184.94"
# esprot = "9200"
# esuser = "admines"
# espassword = "adminGSB."
# def qingxi(ustring):
# """全角转半角"""
# if ustring:
# rstring = ""
# for uchar in ustring:
# inside_code = ord(uchar)
# if inside_code == 12288: # 全角空格直接转换
# inside_code = 32
# elif (inside_code >= 65281 and inside_code <= 65374): # 全角字符(除空格)根据关系转化
# inside_code -= 65248
# rstring += chr(inside_code)
# for line in list(rstring):
# if line in ['·', '(', ')']:
# return rstring
# # if '·' or '(' or ')' in rstring:
# # return rstring
# data = re.sub('([\W,_]+)', '', rstring)
# return data
class Doelastic(object):
def SearchCompany(self,factor):
ChangeMessageInfo = ChangeMessage()
results = ChangeMessageInfo.select_branch(factor)
sp=[]
res = results["hits"]["hits"]
print(res)
for i in range(len(res)):
res[i]['_source']["num"]=i+1
if res[i]['_source']["change_item"] == None:
res[i]['_source']["change_item"]='-'
sp.append(res[i]['_source'])
return sp
def getCompnayByName(self,company_name):
factor = ['gsb_company_name.raw',company_name]
sss = self.SearchCompany(factor)
return sss
def companyChage(server):
@server.route("/api/changeAPI", methods=['POST'])
def APIChange():
try:
el = Doelastic()
mycompanyname = request.get_json().get("mycompanyname") # 得到问题
re_mycompanyname = strQ2B(mycompanyname)
r_1 = el.getCompnayByName(re_mycompanyname)
if r_1:
return json.dumps({"status": 1, "msg":"成功","data": r_1}, ensure_ascii=False)
else:
return json.dumps({"status": -1, "msg":"失败","data": 0}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg":"调用服务出错","data": {}}, ensure_ascii=False)
#
# if __name__ == "__main__":
# el = Doelastic()
# el.getCompnayByName('青岛永创信息技术有限公司')
# if __name__ == '__main__':
# app.run(host='127.0.0.1', port=5000, debug=True)
# app.run(host=host'172.16.18.120', port=9500, debug=True)
import pymysql,json
from flask import request
from DBUtils.PooledDB import PooledDB
MYSQL_HOST = '47.95.76.74' # 外网地址
PORT = 3306 # 外网端口
USER = 'root'
PASSWORD = 'Gongsibao2018'
DB = 'ent_data'
pool = PooledDB(pymysql,8, host=MYSQL_HOST, user=USER, passwd=PASSWORD, db=DB, port=PORT)
# 根据公司名称获取企业自设订的行业
def industry_select(companyName):
company_industry = ''
conn = pool.connection()
cursor = conn.cursor()
sql = 'SELECT * FROM `tj_standard_order` WHERE standard_company_name = "%s" limit 1' % companyName
cursor.execute(sql)
standard_order_info = cursor.fetchall()
for row in standard_order_info:
company_industry = row[5]
if company_industry:
company_industry =company_industry
else:
company_industry = ''
return company_industry
# print(industry_select('云选家网络科技(广东)有限公司'))
# 根据公司名称获取产品标签两个。知识产权信息;3个(商标、著作权、专利);资产标签2个及分公司情况
def hx_30s(companyName):
conn = pool.connection()
cursor = conn.cursor()
sql = 'SELECT * FROM `tj_label_depth_all` WHERE company_name = "%s"' % companyName
cursor.execute(sql)
company_hx_info = cursor.fetchall()
hx_info_dict ={}
for row in company_hx_info:
hx_info_dict['company_base'] = row[1]
hx_info_dict['knowledge_info'] = row[8]
hx_info_dict['product'] = row[6]
return hx_info_dict
# 组装成输出的样子
'''
{
"code": 200,
"data": [
{
"lable_data": [
"大型企业",
"有限责任公司",
"青年公司",
"华北地区",
"一枝独秀"
],
"lable_type": "基本标签"
}
],
"message": "操作成功"
}
'''
def final_hx (company_industry,hx_info_dict):
data = []
productData_dict ={}
industryData_dict ={}
knowledgeData_dict ={}
branchLable_dict ={}
company_industry_list =[]
company_industry_list.append(company_industry)
industryData_dict['label_data'] = company_industry_list
industryData_dict['label_type'] = '行业标签'
data.append(industryData_dict)
productData = hx_info_dict['product'].replace('[','').replace(']','').replace("'",'').replace(" ",'').split(',')
if len(productData)>2:
lable_data = productData[0:2]
else:
lable_data = productData
productData_dict['label_data'] = lable_data
productData_dict['label_type'] = '产品标签'
data.append(productData_dict)
knowledgeData = hx_info_dict['knowledge_info'].replace('[','').replace(']','').replace("'",'').replace(" ",'').split(',')
print(knowledgeData,"knowledgeData=====")
knowledgeData_list =[]
for knowledgeItem in knowledgeData:
knowledgeItem = eval(knowledgeItem)
for k,v in knowledgeItem.items():
knowledgeData_list.append(v)
knowledgeData_dict['label_data'] = knowledgeData_list
knowledgeData_dict['label_type'] = '资产标签'
data.append(knowledgeData_dict)
baseData = hx_info_dict['company_base'].replace('[', '').replace(']', '').replace("'", '').replace(" ",'').split(',')
branchData_list = []
for base_item in baseData:
base_item = eval(base_item)
if '分公司数量' in base_item.keys():
branch_info = base_item['分公司数量']
branchData_list.append(branch_info)
branchLable_dict['label_data'] = branchData_list
branchLable_dict['label_type'] = '分公司标签'
data.append(branchLable_dict)
return data
# 获取公司名称及获取30s画像
def tj_30s_hx(server):
@server.route('/gsb/api/company_hx', methods=['POST'])
def company_30s_main():
if request.method == 'POST':
try:
requestdata = request.json
print(requestdata)
companyName = requestdata.get('company_name')
industryLable = industry_select(companyName)
hx_info_dict = hx_30s(companyName)
print(hx_info_dict, "hx_info_dict===")
data = final_hx(industryLable, hx_info_dict)
hx_30s_result = {"status": 0, "msg": "成功", "data": data}
except Exception as error:
hx_30s_result = {"status": -1, "msg": "失败", "data": error}
return hx_30s_result
\ No newline at end of file
from dao.ic_gsb_branch_es import BranchEs
from dao.company_es import CompanyEs
from common import time_trans
import time, datetime
class CompanyBase:
companyes = CompanyEs()
branches = BranchEs()
#企业分支机构
def companybranch(self,company_name):
company_branchs = []
branch_result = self.branches.select_branch(company_name)
for item in branch_result['hits']['hits']:
# print(item)
# print(item['_id'])
company_branchs.append(item['_source']['branch_name'])
return company_branchs
def array_time(self,data):
print(int(data))
timeArray = time.localtime(int(data))
otherStyleTime = time.strftime("%Y-%m-%d ", timeArray)
return otherStyleTime
#查询企业基本信息
def companyinfo(self,company_name):
company_dict = {}
company_result = self.companyes.select_baise(company_name)
if company_result:
for row in company_result['hits']['hits']:
company_dict["companyname"] = row['_source']["company_name"] # 企业名称
company_dict["gsb_province"] = row['_source']["base"] # 所属省
company_dict["gsb_shi"] = row['_source']["gsb_city"] # 所属城市或者区
company_dict["legal_persion"] = row['_source']["legal_person"] # 法定代表人
company_dict["reg_capital"] = row['_source']["reg_capital"] # 注册资本
company_dict["reg_unit"] = row['_source']["reg_unit"] # 注册资本单位(万人民币)
company_dict["reg_status"] = row['_source']["reg_status"] # 营业状态
company_dict['estiblish_time'] = row['_source']["estiblish_time"] # 社会统一性代码
print(row['_source']["estiblish_time"], "====")
if row['_source']["estiblish_time"] != None and row['_source']["estiblish_time"] != "null":
company_dict["estiblish_time"] = row["_source"]["estiblish_time"] # 成立时间(原本时间戳格式)
company_dict["company_org_type"] = row['_source']["company_org_type"] # 企业类型
company_dict["gsb_company_cate_1"] = row['_source']["gsb_company_cate_1"] # 所属行业大类
company_dict["gsb_company_cate_2"] = row['_source']["gsb_company_cate_2"] # 所属行业中类
company_dict["gsb_company_cate_3"] = row['_source']["gsb_company_cate_3"] # 所属行业小类
company_dict["business_scope"] = row['_source']["business_scope"] # 企业经营范围
company_dict['reg_number'] = row['_source']["reg_number"] # 社会统一性代码
company_dict['from_time'] = row['_source']["from_time"] # 社会统一性代码
company_dict['credit_code'] = row['_source']["credit_code"] # 社会统一性代码
if row['_source']["from_time"] != None and row['_source']["from_time"] != "null":
company_dict['from_time'] = self.array_time(
time_trans.TimestampChange(row['_source']["from_time"], 0)[0]) # 起时间
company_dict['to_time'] = row['_source']["to_time"] # 社会统一性代码
if row['_source']["to_time"] != None and row['_source']["to_time"] != "null":
company_dict['to_time'] = self.array_time(
time_trans.TimestampChange(row['_source']["to_time"], 0)[0]) # 止时间
company_dict['reg_institute'] = row['_source']["reg_institute"] # 注册地址
company_dict["reg_capital"] = row['_source']["reg_capital"] # 注册资本单位(万人民币)
company_dict['reg_location'] = row['_source']["reg_location"] # 公司地址
company_dict['company_org_type'] = row['_source']["company_org_type"] # 公司地址
return company_dict
#查找相似企业
def similar_company(self,cinfo,company_name):
querybody = self.companyes.select_company_body()
print(querybody,2222)
if cinfo["reg_status"]:
dsl = {"terms": {"reg_status": ['存续', "在业"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["gsb_company_cate_1"]:
dsl = {"term": {"gsb_company_cate_1": cinfo["gsb_company_cate_1"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["company_org_type"]:
dsl = {"term": {"company_org_type": cinfo["company_org_type"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["gsb_province"]:
dsl = {"term": {"base": cinfo["gsb_province"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["gsb_company_cate_2"]:
dsl = {"term": {"gsb_company_cate_2": cinfo["gsb_company_cate_2"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["gsb_company_cate_3"]:
dsl = {"term": {"gsb_company_cate_3": cinfo["gsb_company_cate_3"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["gsb_shi"]:
dsl = {"term": {"gsb_city": cinfo["gsb_shi"]}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["estiblish_time"]:
begin_e_time, end_e_time = time_trans.TimestampChange(cinfo["estiblish_time"],1)
dsl = {"range": {"estiblish_time": {"gte": begin_e_time, "lte": end_e_time}}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["reg_capital"]:
ori_cap = float(cinfo["reg_capital"])
new_cap_sub = str(ori_cap * 0.2)
new_cap_add = str(ori_cap * 1.8)
dsl = {"range": {"reg_capital": {"gte": new_cap_sub, "lte": new_cap_add}}}
querybody['query']['bool']['must'].append(dsl)
if cinfo["reg_unit"]:
dsl = {"term": {"reg_unit": cinfo["reg_unit"]}}
querybody['query']['bool']['must'].append(dsl)
company_list = self.companyes.select_company(querybody)
namelist = []
print( len(company_list['hits']['hits']),111)
if len(company_list['hits']['hits']) > 0:
for row in company_list['hits']['hits']:
if row['_source']["company_name"] == company_name:
continue
from_time = ""
if row['_source']["from_time"] != None and row['_source']["from_time"] != "null" and row['_source'][
"from_time"] != 0:
from_time = self.array_time(
time_trans.TimestampChange(row['_source']["from_time"], 0)[0]) # 起时间
to_time = ""
if row['_source']["to_time"] != None and row['_source']["to_time"] != "null" and row['_source'][
"to_time"] != 0:
to_time = self.array_time(
time_trans.TimestampChange(row['_source']["to_time"], 0)[0]) # 止时间
if row['_source']["credit_code"] == None:
row['_source']["credit_code"] = '-'
if row['_source']["legal_person"] == None:
row['_source']["legal_person"] = '-'
if row['_source']["gsb_company_cate_1"] == None:
row['_source']["gsb_company_cate_1"] = '-'
if row['_source']["company_org_type"] == None:
row['_source']["company_org_type"] = '-'
data = {"company_name":row['_source']["company_name"], "credit_code":row['_source']["credit_code"],"legal_person":str(row['_source']["legal_person"]),"time_between":str(str(from_time) + '- ' + str(to_time)),"gsb_company_cate_1":str(row['_source']["gsb_company_cate_1"]),"compamy_org_type":str(row['_source']["company_org_type"]) }
namelist.append(data)
company_list_result = namelist[:3]
return company_list_result
from DBUtils.PooledDB import PooledDB
import pymysql,json
from flask import request
MYSQL_HOST = '47.95.76.74' # 外网地址
PORT = 3306 # 外网端口
USER = 'root'
PASSWORD = 'Gongsibao2018'
DB = 'ent_data'
pool = PooledDB(pymysql, 8, host=MYSQL_HOST, user=USER, passwd=PASSWORD, db=DB, port=PORT)
"""检索类别英文名字"""
def select_label(lable_type):
conn = pool.connection()
cursor = conn.cursor()
english_name = ""
sql = 'SELECT * FROM `tj_label_yingshe` where name = "%s";' % lable_type
cursor.execute(sql)
label_english_info = cursor.fetchall()
for row in label_english_info:
english_name = row[2]
cursor.close()
conn.close()
return english_name
def select_label_content(lable_type):
conn = pool.connection()
cursor = conn.cursor()
sql = 'SELECT * FROM `tj_hx_type_connect` where label_type1 = "%s";' %lable_type
print(sql)
print(sql)
cursor.execute(sql)
label_list = []
label_info = cursor.fetchall()
for row in label_info:
label_dict = {}
label_dict['label_type_1'] = row[1]
label_dict['label_type_2'] = row[2]
label_dict['label'] = row[3]
label_list.append(label_dict)
cursor.close()
conn.close()
return label_list
def checkbox_info(label_list):
for item in label_list:
label = item['label']
lable_type = item['label_type_1']
data_dict ={}
checkbox_data = []
label_list = label.replace('[','').replace(']','').replace("'","").split(',')
try:
data_dict['title'] = lable_type
data_dict['english_name'] = select_label(lable_type)
data_dict['value'] = []
data_dict['list'] = label_list
checkbox_data.append(data_dict)
return json.dumps({"status": 200, "msg": "成功", "type": "checkbox", "data": checkbox_data},
ensure_ascii=False)
except:
return json.dumps({"status": 404, "msg": "失败", "type": "checkbox", "data": []}, ensure_ascii=False)
def select_info(label_list):
data_list1 = []
value_list = []
for item in label_list:
data_list2 = []
label = item['label']
lable_type2 = item['label_type_2']
label_list1 = label.replace('[', '').replace(']', '').replace("'", "").split(',')
for index,value in enumerate(label_list1):
label_dict2 = {}
label_dict2['id'] = index+1
label_dict2['value'] = value
label_dict2['lable'] = value
if value not in value_list:
value_list.append(value)
data_list2.append(label_dict2)
data_list1_dict = {}
data_list1_dict['title'] = lable_type2
print(lable_type2)
data_list1_dict['english_name'] = select_label(lable_type2)
data_list1_dict['value'] = ""
data_list1_dict['list'] = data_list2
data_list1.append(data_list1_dict)
print(len(data_list1))
try:
return json.dumps({"status": 200, "msg": "成功", "type": "select", "data": data_list1},
ensure_ascii=False)
except:
return json.dumps({"status": 404, "msg": "失败", "type": "select", "data": []}, ensure_ascii=False)
def hx_connect(server):
@server.route('/gsb/api/hx_connect', methods=['POST'])
def label_main():
if request.method == 'POST':
requestdata = request.json
lable_type = requestdata.get('lable_type')
label_list = select_label_content(lable_type)
if lable_type in ['证照标签', '产品信息', '风险标签']:
info = checkbox_info(label_list)
else:
info = select_info(label_list)
return info
from DBUtils.PooledDB import PooledDB
import pymysql
import sys,os,flask
from flask import request
from flask_cors import *
import json
"""读取tj_hx_type_connect表,获取大类"""
"""返回格式:["基本标签", "产品标签", "风险标签", "经营标签", "偏好标签"]"""
MYSQL_HOST = '47.95.76.74' # 外网地址
PORT = 3306 # 外网端口
USER = 'root'
PASSWORD = 'Gongsibao2018'
DB = 'ent_data'
pool = PooledDB(pymysql, 8, host=MYSQL_HOST, user=USER, passwd=PASSWORD, db=DB, port=PORT)
def select_label():
conn = pool.connection()
cursor = conn.cursor()
sql = 'SELECT * FROM `tj_hx_type_connect`;'
cursor.execute(sql)
label_info_list = []
label_info = cursor.fetchall()
for row in label_info:
label_info_dict = {}
label_info_dict['label_type_1'] = row[1]
label_info_dict['label_type_2'] = row[3]
label_info_dict['label'] = row[2]
label_info_list.append(label_info_dict)
cursor.close()
conn.close()
return label_info_list
def label_type_1(label_info_list):
label_type_1_list = []
for item in label_info_list:
label_type_1 = item['label_type_1']
if label_type_1 not in label_type_1_list:
label_type_1_list.append(label_type_1)
return label_type_1_list
def label_type1(server):
@server.route('/gsb/api/label_type1', methods=['POST'])
def label_type1_main():
if request.method == 'POST':
try:
label_info_list = select_label()
print(label_info_list,111)
label_type_1_list = label_type_1(label_info_list)
print(label_type_1_list,222)
return json.dumps({"status": 200, "msg": "成功", "lable_type": label_type_1_list}, ensure_ascii=False)
except:
return json.dumps({"status": 404, "msg": "失败", "data": []}, ensure_ascii=False)
from dao.treasure_name_es import NameEs
from collections import Counter
from dao.literal_meaning_es import ExplainEs
from service import preference_selecter
# url = 'https://entprofile.gongsibao.com/gsb/api/ImageStatusSearch' # 获取信息接口
# headers = {"Content-Type": "application/json", "ak": "YLc6GsgLtuRGaVA5Om848x18NxLtHlyA"}
# companyname = {"companyname":companyname}# 接口访问参数
# companyInfo = requests.post(url, data=json.dumps(json_info), headers=headers) # 访问接口返回的信息
all_size = 20
find_size = 15
def statistics(name_type_dict,name_size_dict,json_result):
name_type_list = []
name_size_list = []
for like_name in json_result:
name_type_list.append(name_type_dict[like_name])
name_size_list.append(name_size_dict[like_name])
return name_type_list,name_size_list,len(json_result)
def precent_get(num_list,all_len):
size_result_dict = {}
for name_size in num_list.keys():
size_result_dict[name_size] = num_list[name_size] / float(all_len)
return size_result_dict
def name_create(json_result):
name_type_dict ,name_size_dict = preference_selecter.preference_meaning(json_result['preference'])
name_type_list, name_size_list, all_len = statistics(name_type_dict,name_size_dict,json_result['preference'])
name_type_num_dict = Counter(name_type_list)
name_size_num_list = Counter(name_size_list)
name_size_num_list = precent_get(name_size_num_list,all_len)
name_type_num_list = precent_get(name_type_num_dict,all_len)
namees = NameEs()
result = {}
all_num = 0
name_list = []
for item in name_type_num_list:
if item not in result:
result[item] = {}
for name in name_size_num_list:
if name not in result[item]:
result[item][name] = ""
result[item][name] = round(name_type_num_list[item] * name_size_num_list[name] * find_size)
all_num += result[item][name]
name_search_result = namees.select_name(item, name,json_result['city'],json_result['cate'], result[item][name])
for search_name in name_search_result["hits"]['hits']:
name_list.append(search_name["_source"]['company_name'])
surplus_num = all_size - len(name_list)
if surplus_num > 0:
null_result = namees.select_null(surplus_num)
for search_name in null_result["hits"]['hits']:
print(search_name)
name_list.append(search_name["_source"]['company_name'])
return name_list
def word_explain(name_list,json_result):
explaines = ExplainEs()
result = []
for name in name_list:
name_dict = {"name":"","explain":[],"company_name":""}
name_dict["company_name"] = json_result['city'].replace("市","") + name + json_result['cate'] + "有限公司"
name_dict['name'] = name
for word in name:
word_dict = {}
explain_result = explaines.select_explain(word)
if explain_result['hits']['hits']:
word_dict[word] = explain_result['hits']['hits'][0]['_source']['explain']
if not explain_result['hits']['hits']:
print("nohave",word)
word_dict[word] = "暂无释义"
name_dict['explain'].append(word_dict)
result.append(name_dict)
return result
def company_name_explain(json_result):
result_dict = {}
name_list = name_create(json_result)
result = word_explain(name_list,json_result)
result_dict["orderId"]=json_result['orderId']
result_dict["result_name"] = result
return result_dict
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/3/14 16:37
# @Author : fanhui
# @File : GetLicenseDataForImage.py
# @Software: PyCharm
from dao.online_GetlicenseImage_es import online_Getlicense_Es
from flask import request,jsonify
from common import re_companyName
"""证照信息"""
#检索高新技术企业ES
def GetGXLicensesFromES(companyname):
online_Getlicense = online_Getlicense_Es()
print("证照es",companyname)
license_result_list=[]
licensesinfo1 = online_Getlicense.select_GXLicenses(companyname)
if licensesinfo1["hits"]["hits"]:
for row in licensesinfo1["hits"]["hits"]:
if row['_source']["techType"]:
license_name="高新技术企业" # 证照名称
else:
license_name = "—" # 证照名称
if row['_source']["certificateNo"]:
certificateNo=row['_source']["certificateNo"]#证照编号
else:
certificateNo = "—" #证照编号
if row['_source']["year"]:
begin_date = row['_source']["year"] # 开始时间
else:
begin_date = "—" #开始时间
license_result = {
"license_name": license_name,
"certificateNo": certificateNo,
"begin_date": begin_date,
"end_date": "—"
}
license_result_list.append(license_result)
return license_result_list
#检索游戏类证照ES
def GetgameLicensesFromES(companyname):
print("游戏类证照es")
license_result_list1=[]
online_Getlicense = online_Getlicense_Es()
licensesinfo1 = online_Getlicense.select_gameLicenses_1(companyname)
if licensesinfo1["hits"]["hits"]:
for row in licensesinfo1["hits"]["hits"]:
if row['_source']["publishing_record"]:
license_name="网络游戏运营备案" # 证照名称
else:
license_name = "—" # 证照名称
if row['_source']["symbol"]:
certificateNo=row['_source']["symbol"]#证照编号
else:
certificateNo = "—" #证照编号
if row['_source']["publish_time"]:
begin_date = row['_source']["publish_time"] # 开始时间
else:
begin_date = "—" #开始时间
license_result = {
"license_name": license_name,
"certificateNo": certificateNo,
"begin_date": begin_date,
"end_date": "—"
}
license_result_list1.append(license_result)
license_result_list2 = []
licensesinfo1 = online_Getlicense.select_gameLicenses_2(companyname)
if licensesinfo1["hits"]["hits"]:
for row in licensesinfo1["hits"]["hits"]:
if row['_source']["publishing_record"]:
license_name = "网络游戏出版备案" # 证照名称
else:
license_name = "—" # 证照名称
if row['_source']["symbol"]:
certificateNo = row['_source']["symbol"] # 证照编号
else:
certificateNo = "—" # 证照编号
if row['_source']["publish_time"]:
begin_date = row['_source']["publish_time"] # 开始时间
else:
begin_date = "—" # 开始时间
license_result = {
"license_name": license_name,
"certificateNo": certificateNo,
"begin_date": begin_date,
"end_date": "—"
}
license_result_list2.append(license_result)
license_result_list=license_result_list1+license_result_list2
return license_result_list
#检索高新技术企业ES
def GetICPLicensesFromES(companyname):
print("ICP证照es")
license_result_list=[]
online_Getlicense = online_Getlicense_Es()
licensesinfo1 = online_Getlicense.select_ICPLicenses(companyname)
if licensesinfo1["hits"]["hits"]:
for row in licensesinfo1["hits"]["hits"]:
if row['_source']["licence"]:
license_name=row['_source']["licence"] # 证照名称
else:
license_name = "—" # 证照名称
if row['_source']["licence_no"]:
certificateNo=row['_source']["licence_no"]#证照编号
else:
certificateNo = "—" #证照编号
if row['_source']["start_date"]:
begin_date = row['_source']["start_date"] # 开始时间
else:
begin_date = "—" #开始时间
if row['_source']["end_date"]:
end_date = row['_source']["end_date"] # 截止时间
else:
end_date = "—" #截止时间
license_result = {
"license_name": license_name,
"certificateNo": certificateNo,
"begin_date": begin_date,
"end_date": end_date
}
license_result_list.append(license_result)
return license_result_list
def getlicenceInfo(server):
@server.route('/gsb/api/GetLicenseFromEs', methods=['POST'])
def GetLicenseInfo():
print("接口调用--------查询企业证照信息")
if request.method == 'POST':
requestdata = request.json
print(requestdata)
companyname = requestdata.get('companyname')
companyname = re_companyName.strQ2B(companyname)
LicenseInfo1= GetGXLicensesFromES(companyname)
LicenseInfo2 = GetgameLicensesFromES(companyname)
LicenseInfo3 = GetICPLicensesFromES(companyname)
license_result=LicenseInfo1+LicenseInfo2+LicenseInfo3
return jsonify(license_result)
# server.run(host='172.21.0.2', port=9000, debug=True)
# server.run(host='127.0.0.1', port=9000, debug=True)
\ No newline at end of file
from dao.preference_select import Preference
def preference_select():
all_list = []
preference = Preference()
mean_list = []
meaning_result = preference.select_meaning()
for item in meaning_result:
mean_list.append(item['select_meaning'])
result = preference.select_sql(item['select_meaning'])
for data in result:
all_list.append(data['select_word'])
preference_one_list = [all_list[1],all_list[5],all_list[10],all_list[15]]
preference_two_list = [all_list[6], all_list[0], all_list[11], all_list[16]]
preference_three_list = [all_list[12], all_list[7], all_list[2], all_list[17]]
preference_four_list = [all_list[18], all_list[8], all_list[13], all_list[3]]
preference_five_list = [all_list[4], all_list[9], all_list[14], all_list[19]]
preference_list = [preference_one_list,preference_two_list,preference_three_list,preference_four_list,preference_five_list]
return preference_list
preference_select()
def preference_meaning(list):
preference = Preference()
word_size_list = {}
word_meaning_list = {}
word_result = preference.select_word(list)
for item in word_result:
if item['select_word'] not in word_size_list:
word_size_list[item['select_word']] = item['word_size']
word_meaning_list[item['select_word']] = item['select_meaning']
# print(word_meaning_list,word_size_list)
return word_meaning_list,word_size_list
# preference_meaning(['文思海辉', '美的', '跟谁学', '同仁堂'])
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/27 18:49
# @Author : fanhui
# @File : rec_status.py
# @Software: PyCharm
import json
from dao.re_status_dao import rec_status_Dao
from db.mod_db import DataBase
from flask import request
#更新状态表的结果
def WriteRecStatusToSql(recommend_id,status_name):
# json写入数据库
db_info = DataBase()
try:
rec_status = rec_status_Dao()
rec_status.select_sql_1(recommend_id,status_name)
except Exception as e:
print(e)
db_info.roll_back()
# 关闭数据库连接
db_info.close()
return "状态表已更新"
def tj_rec_status(server):
@server.route('/gsb/api/tj_rec_status', methods=['POST'])
def tj_rec_status():
print("接口调用--------更新状态表")
if request.method == 'POST':
try:
# requestdata = request.values
requestdata = request.json
print(requestdata)
recommend_id = requestdata.get('recommendId')
status_name = requestdata.get('stateName')
WriteRecStatusToSql(recommend_id, status_name)
return json.dumps({"status": 0, "msg": "成功", "data": recommend_id}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg": "失败", "data": {}}, ensure_ascii=False)
# server.run(host='127.0.0.1', port=19, debug=True)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pymysql
import json
from flask import Flask, render_template, request
from flask_cors import CORS
def getName(recommendId):
connection = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
cur = connection.cursor()
sql='select company_name from tj_recommend_do_status where recommend_id = "%s"' %recommendId
cur.execute(sql)
s=cur.fetchone()
print(s)
cur.close()
connection.close()
return s
def getSource(name):
connection = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
cur = connection.cursor()
sql='select preference_label from tj_label_depth where company_name = "%s"'%name
print(name)
cur.execute(sql)
s=cur.fetchall()
x= ''
for ss in s:
aa=ss[0]
aaa=aa.replace(']','').replace('[','')
x=json.loads(aaa)['来源偏好']
print(x)
cur.close()
connection.close()
return x
def talk(recommendId,source):
connection = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
cur = connection.cursor()
try:
list_test=[]
select_name_sql='SELECT product_name FROM `tj_recommend_do_status` where recommend_id ="%s"'%(recommendId)
#update_sql='UPDATE tj_talking t1 ,tj_recommend_do_status t2 set t1.recommend_id=t2.recommend_id where t1.recommend_product=t2.product_name'
cur.execute(select_name_sql)
name=cur.fetchone()
print(name)
name=name[0]
print(name)
#connection.commit()
print(source ,'------------------')
sa=list(source)
print(sa)
if source != '钉钉' and sa [0]!='阿' and sa[1] != '里' :
print('1')
select_sql='select start_text,res_text,mq_text,end_text from tj_talking where recommend_product="%s" and id>6000'%(name)
# select_sql='select mq_text from tj_talking where id>6000'
cur.execute(select_sql)
print(select_sql)
s=cur.fetchone()
if s:
for i in range(0,len(s)):
list_test.append(s[i])
print(list_test)
else:
start_text="老板,您好,我是公司宝XXX"
list_test.append(start_text)
res_text="我们公司宝主体是汉唐信通(北京)咨询股份有限公司拥有13年丰富企服行业经验致力于企业全生命周期的一站式服务平台。"
list_test.append(res_text)
list_test.append('暂无话术,敬请期待')
end_text="好的,老板,公司宝有公司注册、财税代理、知识产权、行业资质认证、薪 税服务、公司交易多达三百余项产品,贵公司在业务开展过程中,如果有其他上述的服务需求,随时欢迎找我们。感谢您的支持。(也可以继续推荐其他套餐)"
list_test.append(end_text)
else:
print('2')
select_sql='select start_text,res_text,mq_text,end_text from tj_talking where recommend_product="%s"'%name
cur.execute(select_sql)
print(select_sql)
s=cur.fetchone()
if s:
for i in range(0,len(s)):
list_test.append(s[i])
print(list_test)
else:
start_text="老板,您好,我是公司宝XXX"
list_test.append(start_text)
res_text="我们公司宝主体是汉唐信通(北京)咨询股份有限公司拥有13年丰富企服行业经验致力于企业全生命周期的一站式服务平台。"
list_test.append(res_text)
list_test.append('暂无话术,敬请期待')
end_text="好的,老板,公司宝有公司注册、财税代理、知识产权、行业资质认证、薪 税服务、公司交易多达三百余项产品,贵公司在业务开展过程中,如果有其他上述的服务需求,随时欢迎找我们。感谢您的支持。(也可以继续推荐其他套餐)"
list_test.append(end_text)
cur.close()
connection.close()
return True,list_test
except:
cur.close()
connection.close()
return False,{}
def talkName(recommend_product):
connection = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
cur = connection.cursor()
try:
list_test=[]
select_sql='select start_text,res_text,mq_text,end_text from tj_talking where commerce_product="%s"'%(recommend_product)
cur.execute(select_sql)
s=cur.fetchone()
for i in range(0,len(s)):
list_test.append(s[i])
print(list_test)
cur.close()
connection.close()
return True,list_test
except:
cur.close()
connection.close()
return False,{}
# 服务器接口API
def talking(server):
@server.route('/api/talking', methods = ['POST'])
def SingleLogoApi1():
try:
recommendId = request.get_json().get("recommendId")
name = getName(recommendId)
source = getSource(name)
isSuss, talkings = talk(recommendId, source)
if isSuss:
return json.dumps({"status": 0, "msg": "成功", "data": talkings}, ensure_ascii=False)
else:
return json.dumps({"status": -1, "msg": "返回数据为空", "data": {}}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg": "调用服务出错", "data": {}}, ensure_ascii=False)
# 服务器接口API 根据推荐名字
def talking_product(server):
@server.route('/api/talkingName', methods=['POST'])
def SingleLogoApi():
try:
recommend_product = request.get_json().get("recommend_product")
isSuss, talkings = talkName(recommend_product)
if isSuss:
return json.dumps({"status": 0, "msg": "成功", "data": talkings}, ensure_ascii=False)
else:
return json.dumps({"status": -1, "msg": "返回数据为空", "data": {}}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg":"调用服务出错","data": {}}, ensure_ascii=False)
# talk("商标注册")
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/5/12 0012 18:46
# @Author : guopeng
# @File : talking_name.py
# @Software: PyCharm Community Edition
import requests
import json
from flask import request
def ProductService(json_info):
print(json_info)
# json_info = eval(json_info)
url = 'https://entprofile.gongsibao.com/api/talking' # 获取信息接口
headers = {"Content-Type":"application/json","ak":"YLc6GsgLtuRGaVA5Om848x18NxLtHlyA"}
# companyname = {"companyname":companyname}# 接口访问参数
companyInfo = requests.post(url,data=json.dumps(json_info),headers=headers) # 访问接口返回的信息
# resultinfo=json.loads(companyInfo.text)
print(companyInfo.text)
return companyInfo.text
# 服务器接口API
def talkingName_new(server):
@server.route('/api/talkingNameGai', methods=['POST'])
def SingleLogoApi_re():
try:
recommendId = request.get_json().get("recommendId")
datas = ProductService({"recommendId": recommendId})
data1 = json.loads(datas)
data_talk = data1["data"]
mq = data_talk[2]
list1 = []
for i in mq.split('\n'):
list1.append(i)
print(list1)
return json.dumps({"status": 0, "msg": "成功", "data": list1}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg":"调用服务出错","data": {}}, ensure_ascii=False)
# if __name__ == '__main__':
# CORS(app, supports_credentials=True)#允许跨域
# # app.run(host='172.16.18.2', port=15501, debug=True)
# app.run(host='127.0.0.1', port=5000, debug=True)
from flask import request
import json
from dao.tf_member_dao import tf_member_Dao
from dao.tf_member_es import tf_member_Es
from db.mod_db import DataBase
def getdbdata_gg(input_name):
tf_memberInfo = tf_member_Dao()
gaoguan = tf_memberInfo.select_sql_1(input_name)
DataInfo = DataBase()
DataInfo.close()
return gaoguan
def record2jsion_gg(query_data):
jsonData = []
output = []
for row in query_data:
data = {}
data['company_name'] = str(row[0])
data['member_name'] = str(row[1])
data['member_position'] = str(row[2])
jsonData.append(data)
jsondatar = json.dumps(jsonData, ensure_ascii=False)
output = jsondatar
return output
def getdbdata_gd(input_name):
tf_memberInfo = tf_member_Dao()
gudong = tf_memberInfo.select_sql_2(input_name)
DataInfo = DataBase()
DataInfo.close()
return gudong
def record2jsion_gd(query_data):
jsonData = []
output = []
for row in query_data:
data = {}
data['company_name'] = str(row[0])
data['shareholder_name'] = str(row[1])
data['subscription_funds'] = str(row[2])
data['turn_funds'] = str(row[3])
data['subscript_type'] = str(row[4])
data['subscrip_time'] = str(row[5])
jsonData.append(data)
jsondatar = json.dumps(jsonData, ensure_ascii=False)
output = jsondatar
return output
def Get_Data_By_Body(index_name,company_name):
tf_memberInfo = tf_member_Es()
# doc = {"query":{"match": {"companyName":"北京华泰丽成智能科技有限公司"}}}
temp = []
_searched = tf_memberInfo.Get_Data_By_Body_1(index_name,company_name)
for hit in _searched['hits']['hits']:
print("Got %d Hits:" % _searched['hits']['total'])
# print (hit['_source'])
# print (hit['_source']['companyName'])
t = hit['_source']
temp.append(t)
# tt=es_records[0]['_source']
# print(tt)
# print(json.dumps(es_records,ensure_ascii=False))
tt = temp
return tt # [tt]
def Get_Data_By_Body_Input( index_name,match_field, field_cotent):
# doc = {"query": {"match": {match_field: field_cotent}}}
# doc = {"query":{"match": {"companyName":"北京华泰丽成智能科技有限公司"}}}
# _searched = es.search(index=index_name, body=doc)
tf_memberInfo = tf_member_Es()
_searched = tf_memberInfo.Get_Data_By_Body_2(index_name,match_field, field_cotent)
temp = []
for hit in _searched['hits']['hits']:
# print("Got %d Hits:" % _searched['hits']['total'])
# print (hit['_source'])
# print (hit['_source']['companyName'])
t = hit['_source']
temp.append(t)
# tt=es_records[0]['_source']
# print(tt)
# print(json.dumps(es_records,ensure_ascii=False))
tt = temp
return tt # [tt]
def Get_Data_Return_Body_ID(index_name,match_field, field_cotent):
tf_memberInfo = tf_member_Es()
_searched = tf_memberInfo.Get_Data_By_Body_2(index_name,match_field, field_cotent)
temp = []
for hit in _searched['hits']['hits']:
t = hit['_id']
temp.append(t)
tt = temp
return tt
def search_gaoguan(input_company_name):
match_field_0 = 'company_name'
field_cotent_0 = input_company_name
# field_cotent_0='北京非常满意科技有限公司'
# field_cotent1='83468156'
company_id = Get_Data_Return_Body_ID("bigdata_ic_gsb_company_04",match_field_0, field_cotent_0) # 返回查询结果
# print('OK--company_info->\n')
# print(company_id)
if company_id:
match_field1 = 'company_id'
# field_cotent1='83468156'
field_cotent1 = company_id[0]
staff_info = Get_Data_By_Body_Input("bigdata_ic_gsb_staff", match_field1, field_cotent1) # 返回查询结果
for num in staff_info:
# print(num['branch_id'])
pass
for i in range(0, len(staff_info)):
if staff_info[i]:
ss = Get_Data_By_Body_Input("bigdata_ic_gsb_human",'id', staff_info[i]['staff_id']) # 返回子查询结果
if ss[0]['name']: # 返回值不为空
staff_info[i]['staff_id'] = ss[0]['name'] # 替换相应的值
else:
print('no data!')
finall_key = {'company_id', 'staff_id', 'staff_type_name'}
finall_info = []
for j in range(0, len(staff_info)):
staff_info[j]['company_id'] = field_cotent_0
finall_info.append({key: value for key, value in staff_info[j].items() if key in finall_key})
finall_info[j].update({'company_name': finall_info[j].pop('company_id')}) # 修改键名
finall_info[j].update({'member_name': finall_info[j].pop('staff_id')})
finall_info[j].update({'member_position': finall_info[j].pop('staff_type_name')})
return finall_info
def search_gudong(input_company_name):
match_field_0 = 'company_name'
field_cotent_0 = input_company_name
annual_id = Get_Data_Return_Body_ID("bigdata_ic_gsb_annualreport",match_field_0, field_cotent_0) # 返回查询结果
match_field1 = 'annual_report_id'
for i in range(0, len(annual_id)):
order_annual_id = sorted(annual_id, reverse=True)
field_cotent1 = order_annual_id[i]
company_shareholder = Get_Data_By_Body_Input("bigdata_ic_gsb_shareholder_1",match_field1, field_cotent1) # 返回查询结果
if company_shareholder:
break
finall_key = {'gsb_company_name', 'investor_name', 'subscribe_amount', 'subscribe_time', 'subscribe_type',
'paid_amount', 'paid_time', 'paid_type'}
finall_info = []
for j in range(0, len(company_shareholder)):
company_shareholder[j]['gsb_company_name'] = field_cotent_0
finall_info.append({key: value for key, value in company_shareholder[j].items() if key in finall_key})
finall_info[j].update({'company_name': finall_info[j].pop('gsb_company_name')})
finall_info[j].update({'shareholder_name': finall_info[j].pop('investor_name')})
finall_info[j].update({'subscription_funds': finall_info[j].pop('subscribe_amount')})
finall_info[j].update({'turn_funds': finall_info[j].pop('paid_amount')})
finall_info[j].update({'subscript_type': finall_info[j].pop('subscribe_type')})
finall_info[j].update({'subscrip_time': finall_info[j].pop('subscribe_time')})
finall_info[j].update({'ture_subscrpt_time': finall_info[j].pop('paid_time')})
finall_info[j].update({'ture_subscript_type': finall_info[j].pop('paid_type')})
return finall_info # json.dumps(finall_info,ensure_ascii=False)
def search_annual_report(input_company_name):
match_field_0='company_name'
field_cotent_0=input_company_name
#field_cotent1='83468156' 2914053007
annual_id = Get_Data_By_Body_Input("bigdata_ic_gsb_annualreport", match_field_0, field_cotent_0) # 返回查询结果
#print('OK--company_info->\n')
#print(annual_id[0])
finall_key={'company_id','report_year','company_name','usc_code','reg_number','phone_number','post_code', 'post_address','email','manage_state','employee_number'}
finall_info=[]
for j in range(0,len(annual_id)):
finall_info.append({key: value for key, value in annual_id[j].items() if key in finall_key})
#print('\n')
#print(finall_info[0])
report_year_unique=[]
for kk in range(0,len(finall_info)):
if finall_info[kk]['report_year'] not in report_year_unique:
report_year_unique.append(finall_info[kk]['report_year'])
report_year_unique=sorted(report_year_unique,reverse=True)
#print(report_year_unique)
finall_info_unique=[]
for ll in report_year_unique:
#print(ll)
for mm in range(0,len(finall_info)):
if finall_info[mm]['report_year']==ll:
finall_info_unique.append(finall_info[mm])
break
#print(finall_info_unique)
#print('OK--final_info->\n')
return finall_info_unique#json.dumps(finall_info_unique,ensure_ascii=False)
def gaoguan(server):
@server.route('/api/gaoguan', methods=['POST'])
def index():
if request.method == 'POST':
request_data = request.json
inputs = request_data.get('company_name')
# gaoguan=getdbdata_gg(inputs)
annual_report = search_gaoguan(inputs)
# json.dumps(annual_report, ensure_ascii=False)
# outputs=record2jsion_gg(gaoguan)
return json.dumps(annual_report, ensure_ascii=False) # gaoguan #outputs
'''def index():
if request.method=='POST':
request_data=request.json
inputs=request_data.get('company_name')
gaoguan=getdbdata_gg(inputs)
outputs=record2jsion_gg(gaoguan)
return outputs'''
def gudong(server):
@server.route('/api/gudong', methods=['POST'])
def indexx():
if request.method == 'POST':
request_data = request.json
inputs = request_data.get('company_name')
gudong = search_gudong(inputs)
return json.dumps(gudong, ensure_ascii=False)
def nianbao(server):
@server.route('/api/nianbao', methods=['POST'])
def indexxx():
if request.method == 'POST':
request_data = request.json
inputs = request_data.get('company_name')
gudong = search_annual_report(inputs)
return json.dumps(gudong, ensure_ascii=False)
'''def indexx():
if request.method=='POST':
request_data=request.json
inputs=request_data.get('company_name')
gaoguan=getdbdata_gd(inputs)
outputs_gd=record2jsion_gd(gaoguan)
return outputs_gd '''
'''
def index():
gaoguan=getdbdata(input_name)
output=record2jsion(gaoguan)
return output'''
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import request
import json
from service.Dataoper import Datao
from dao.trade_es import trade_Es
def selectcyle(server):
@server.route("/api/selectcycle",methods = ['POST'])
def getCompanyTrade():
try:
companyNames=request.get_json().get("company_name")
trade_Info = trade_Es()
searched = trade_Info.Get_Data_By_Body(companyNames)
if searched["hits"]["total"]:
company_cate_1 = searched["hits"]["hits"][0]['_source']["gsb_company_cate_1"] # 行业第一大类
company_cate_2 = searched["hits"]["hits"][0]['_source']["gsb_company_cate_2"] # 行业第二大类
company_cate_3 = searched["hits"]["hits"][0]['_source']["gsb_company_cate_3"] # 行业第三大类
establishment_time = searched["hits"]["hits"][0]['_source']["estiblish_time"] # 成立时间
DataoperInfo = Datao()
re1,re2 = DataoperInfo.Getdata(company_cate_1,establishment_time)
if re1:
return json.dumps({"status": 0, "msg":"操作成功","data": re2}, ensure_ascii=False)
else:
return json.dumps({"status": -1, "msg":"没有对应的证照信息","data": []}, ensure_ascii=False)
else:
return json.dumps({"status": -1, "msg":"没有对应工商信息","data": []}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg":"调用服务出错","data": []}, ensure_ascii=False)
def insertcycle(server):
@server.route("/api/insertcycle",methods = ['POST'])
def putCompanyTrade():
try:
data=request.get_json().get("data")
print(data)
DataoperInfo = Datao()
re1=DataoperInfo.InsertData(data)
if re1 :
return json.dumps({"status": 0, "msg":"成功","data": re1}, ensure_ascii=False)
else:
return json.dumps({"status": -1, "msg":"失败","data": 0}, ensure_ascii=False)
except:
return json.dumps({"status": -1, "msg":"调用服务出错","data": {}}, ensure_ascii=False)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment