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]
dbhost=47.95.76.74
dbport=3306
dbname=ent_data
dbname=logo_msg
dbuser=root
dbpassword=Gongsibao2018
dbcharset=utf8
......@@ -9,8 +9,8 @@ dbcharset=utf8
[es]
eshost=43.247.184.94
eshost=http://es-cn-zz11nl9y20001gczg.public.elasticsearch.aliyuncs.com
esport=9200
esuser=admines
espassword=adminGSB.
esuser=elastic
espassword=w3OL+51eo*)c=^7
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)
# -*- encoding:utf-8 -*-
# !/usr/bin/python
from elasticsearch import Elasticsearch
from flask import Flask, render_template, request
import json
import pymysql
# esuser = "admines"
# espassword = "adminGSBes"
# esip = "172.16.18.120"
# esport = 9201
# esip1 = "172.16.18.10"
# esport1 = 9200
# es = Elasticsearch([esip], http_auth=(esuser, espassword), port=esport)
# es1 = Elasticsearch([esip1], http_auth=(esuser, espassword), port=esport1)
esip = "43.247.184.94"
esport = 9200
esuser = "admines"
espassword = "adminGSBes"
es = Elasticsearch([esip], http_auth=(esuser, espassword), port=esport)
esip1 = "43.247.184.94"
esport1 = 7200
es1 = Elasticsearch([esip], http_auth=(esuser, espassword), port=7200)
# conn = pymysql.connect(host='43.247.184.94', port=9187, user='nice', passwd='Niceee@2020#@', db='ent_data')
# connection = pymysql.connect(host='43.247.184.94', port=9187, user='nice', passwd='Niceee@2020#@', db='test')
connection = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
# conn = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
def strQ2B(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)
return rstring
def moneyTest(mycompanyname):
connection = pymysql.connect(host='47.95.76.74', port=3306, user='root', passwd='Gongsibao2018', db='ent_data')
cur = connection.cursor()
result={}
result["data"]=[]
result["total"]=0
# 工商接口
resjq = es.search(index="bigdata_ic_gsb_company_op",
body={"query": {"term": {"company_name.raw": mycompanyname}}})
if resjq["hits"]["hits"]:
mycompanyinfo = resjq["hits"]["hits"][0]["_source"]
# 所属行业
global gsb_company_cate_1
gsb_company_cate_1="未公开"
if mycompanyinfo["gsb_company_cate_1"]:
gsb_company_cate_1 = str(mycompanyinfo["gsb_company_cate_1"])
# 商标接口
resjq = es1.search(index="bigdata_middle_gsb_tm_info_9",
body={"size": 1000, "query": {"term": {"applicant_cn": mycompanyname}}})
mytminfo = resjq["hits"]["hits"]
yx = 0
sqz = 0
wx = 0
ot = 0
sb_num=0
sb_money = 0
if mytminfo:
# 获得所需数组
for i in mytminfo:
if i["_source"]["status"] == 1:
sqz += 1
elif i["_source"]["status"] == 2 or i["_source"]["status"] == 3:
yx += 1
elif i["_source"]["status"] == 4:
wx += 1
else:
ot += 1
sb_now_num = yx
#计算不同行业的商机
sb_ql_select='select trademark_num from business where gsb_company_cate_1 = "%s"'%gsb_company_cate_1
connection.ping(reconnect=True)
cur.execute(sb_ql_select)
data=cur.fetchone()
data=max(data)
if data != None:
if sb_now_num < data:
sb_num=data-sb_now_num
sb_money = 899*sb_num
if sb_num != 0:
sb_dist={}
sb_dist["name"]="商标"
sb_dist["money"]=sb_money
sb_dist["num"]=sb_num
result["data"].append(sb_dist)
# 作品著作权
index_name = "bigdata_works_copyright_20200115"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"works_author.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
zz_now_num=0
if searched["hits"]["hits"]:
zz_now_num=searched["hits"]["total"]
#软件著作权
index_name = "bigdata_software_copyright_20200115"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"author_nationality.author_name.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
if searched["hits"]["hits"]:
zz_now_num += searched["hits"]["total"]
# 专利接口
index_name = "bigdata_patent_bib"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"applicant_name.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
fm_pub_count = searched["hits"]["total"] # 发明公开量
xx_pub_count = searched["hits"]["total"] # 新型公开量
wg_pub_count = searched["hits"]["total"] # 新型公开量
zl_now_num = 0
if fm_pub_count + xx_pub_count + wg_pub_count>0:
zl_now_num=fm_pub_count + xx_pub_count + wg_pub_count
#专利潜在商机
zl_money = 0
zl_num=0
zl_sql_select='select patent_num from business where gsb_company_cate_1 = "%s"'%gsb_company_cate_1
connection.ping(reconnect=True)
cur.execute(zl_sql_select)
data1=cur.fetchone()
data1=max(data1)
if (fm_pub_count + xx_pub_count + wg_pub_count) < data1:
zl_num=data1-zl_now_num
if zl_num >0:
zl_money = 5560*zl_num
if zl_num!=0:
zl_dist={}
zl_dist["name"]="专利"
zl_dist["money"]=zl_money
zl_dist["num"]=zl_num
result["data"].append(zl_dist)
# 证照接口
index_name = "enterprise_chain_license"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"companyName.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
ICP_status = "未办理"
EDI_status = "未办理"
IDC_status = "未办理"
web_status = "未办理"
game_pub_status = "未办理"
game_do_status = "未办理"
for aggs in searched["hits"]["hits"]:
if "licence" in aggs["_source"].keys():
if aggs["_source"]["licence"] == "IDC许可证":
ICP_status = "已办理"
if aggs["_source"]["licence"] == "EDI许可证":
EDI_status = "已办理"
if aggs["_source"]["licence"] == "IDC许可证":
IDC_status = "已办理"
if aggs["_source"]["licence"] == "网络文化经营许可证":
web_status = "已办理"
# 游戏运营
index_name = "enterprise_chain_game"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"operation_unit.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
for aggs in searched["hits"]["hits"]:
if "licence" in aggs["_source"].keys():
if aggs["_source"]["licence"] == "IDC许可证":
game_do_status = "已办理"
# 游戏出版
index_name = "enterprise_chain_game"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"publishing_unit.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
for aggs in searched["hits"]["hits"]:
if "licence" in aggs["_source"].keys():
if aggs["_source"]["licence"] == "网络游戏出版备案":
game_pub_status = "已办理"
qs_status = "未办理"
sc_status = "未办理"
# 高新认证
index_name = "enterprise_chain_gxgy"
doc = {
"query": {
"bool": {
"must": [
{
"term": {
"companyName.raw": mycompanyname
}
}
]
}
}
}
searched = es.search(index=index_name, body=doc)
gxqy_status = "未办理"
if searched["hits"]["hits"]:
mycompanyinfo = searched["hits"]["hits"][0]["_source"]
if mycompanyinfo["techType"] == "国家高新":
gxqy_status = "已办理"
#潜在业务数量
zz_num = 0
icp_num = 0
edi_num = 0
idc_num = 0
web_num = 0
gm_pub_num = 0
gm_do_num = 0
qs_num = 0
sc_num = 0
gxqy_num = 0
tax_num = 0
#潜在业务金额
zz_money = 0
icp_money = 0
edi_money = 0
idc_money = 0
web_money = 0
gm_pub_money = 0
gm_do_money = 0
qs_money = 0
sc_money = 0
gxqy_money = 0
tax_money = 0
if ICP_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%IDC%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
icp_num=1
icp_money=2000
if icp_num!=0:
icp_dist={}
icp_dist["name"]="ICP"
icp_dist["money"]=icp_money
icp_dist["num"]=icp_num
result["data"].append(icp_dist)
if EDI_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%EDI%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
edi_num=1
edi_money=8500
if edi_num!=0:
edi_dist={}
edi_dist["name"]="EDI"
edi_dist["money"]=edi_money
edi_dist["num"]=edi_num
result["data"].append(edi_dist)
if IDC_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%IDC%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
idc_num=1
idc_money=50000
if idc_num!=0:
idc_dist={}
idc_dist["name"]="IDC"
idc_dist["money"]=idc_money
idc_dist["num"]=idc_num
result["data"].append(idc_dist)
if web_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%网络文化经营许可证%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
web_num=1
web_money=20000
if web_num!=0:
web_dist={}
web_dist["name"]="网络文化经营许可证"
web_dist["money"]=web_money
web_dist["num"]=web_num
result["data"].append(web_dist)
if game_pub_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%网络游戏出版备案%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
gm_pub_num=1
gm_pub_money=20000
if gm_pub_num!=0:
gm_pub_dist={}
gm_pub_dist["name"]="网络游戏出版备案"
gm_pub_dist["money"]=gm_pub_money
gm_pub_dist["num"]=gm_pub_num
result["data"].append(gm_pub_dist)
if game_do_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%网络游戏运营备案%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
gm_do_num=1
gm_do_money=2000
if gm_do_num!=0:
gm_do_dist={}
gm_do_dist["name"]="网络游戏运营备案"
gm_do_dist["money"]=gm_do_money
gm_do_dist["num"]=gm_do_num
result["data"].append(gm_do_dist)
if zz_now_num > 0:
zz_importance="1"
else:
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%作品著作权%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
zz_num=1+zz_num
zz_type="办理"
zz_money=799+zz_money
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%软件著作权%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
zz_num=zz_num+1
zz_type="办理"
zz_money=zz_money+599
if zz_num!=0:
zz_dist={}
zz_dist["name"]="著作权"
zz_dist["money"]=zz_money
zz_dist["num"]=zz_num
result["data"].append(zz_dist)
if qs_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%食品生产许可证%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
qs_num=1
qs_money=3000
if qs_num!=0:
qs_dist={}
qs_dist["name"]="食品生产许可证(QS)"
qs_dist["money"]=qs_money
qs_dist["num"]=qs_num
result["data"].append(qs_dist)
if sc_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%食品生产许可证%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
sc_num=1
sc_money=8000
if sc_num!=0:
sc_dist={}
sc_dist["name"]="食品生产许可证(SC)"
sc_dist["money"]=sc_money
sc_dist["num"]=sc_num
result["data"].append(sc_dist)
if gxqy_status =="未办理":
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%高新企业认证%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
gxqy_num=1
gxqy_money=20000
if gxqy_num!=0:
gxqy_dist={}
gxqy_dist["name"]="高新企业认证"
gxqy_dist["money"]=gxqy_money
gxqy_dist["num"]=gxqy_num
result["data"].append(gxqy_dist)
#税务筹划
product_sql='SELECT * FROM tj_product_result_copy1_test_0317 where product_result like "%s" and companyname="%s"'%("%税收筹划%",mycompanyname)
connection.ping(reconnect=True)
cur.execute(product_sql)
data=cur.fetchone()
if data:
tax_num=1
tax_money=20000
if tax_num!=0:
tax_dist={}
tax_dist["name"]="税收筹划"
tax_dist["money"]=tax_money
tax_dist["num"]=tax_num
result["data"].append(tax_dist)
sum_sj_money=sb_money+zl_money+zz_money+icp_money+edi_money+idc_money\
+web_money+gm_pub_money+gm_do_money\
+qs_money+sc_money+gxqy_money+tax_money
result["total"]=sum_sj_money
cur.close()
connection.close()
# print(result)
return result
def moneyAPI(server):
@server.route("/api/moneyAPI",methods = ['POST'])
def APImoney():
try:
mycompanyname = request.get_json().get("mycompanyname") # 得到问题
r_1 = moneyTest(strQ2B(mycompanyname))
if r_1:
return r_1
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__':
# app.run(host='127.0.0.1', port=5000, debug=True)
# app.run(host='172.16.18.120', port=9500, debug=True)
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 -*-
# @Time : 2020-05-16 17:30
# @Author : hj
# @File : select_es_result.py
# @Software: PyCharm
from flask import request, jsonify
from elasticsearch import Elasticsearch
from service.company_basic import CompanyBase
from dao.select_hx_logo import hx_logo_Dao
from db.mod_db import DataBase
companybase = CompanyBase()
class HX:
def __init__(self):
self.esip = "43.247.184.94"
self.esport = 9200
self.index_name = "bigdata_ic_gsb_label_op"
self.index_type = "_doc"
self.esuser = "admines"
self.espassword = "adminGSBes."
self.es = Elasticsearch([self.esip], http_auth=(self.esuser, self.espassword), port=self.esport)
def hxsearch(self,re_item,pagesize,currentpage):
print('re_item',re_item)
if currentpage:
start = (currentpage - 1) * pagesize
else:
start = 0
if pagesize:
size = pagesize
else:
size = 4
if re_item == []:
querybody = {
"query": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
},
"from": start,
"size": size
}
else:
querybody = {
"query": {
"bool": {
"must": [
]
}
},
"from": start,
"size": size
}
if "qiyeguimo" in re_item:
dsl = {
"terms": {
"qiyeguimo": re_item['qiyeguimo']
}
}
querybody["query"]["bool"]["must"].append(dsl)
if 'qiyeleixing' in re_item:
dsl = {
"terms": {
"qiyeleixing": re_item['qiyeleixing']
}}
querybody['query']['bool']['must'].append(dsl)
if 'chenglinianxian' in re_item:
years_value = re_item['chenglinianxian']
re_years_value_list = []
for years in years_value:
if years[0:4] in ['青年公司', '长青公司', '成熟公司', '长寿公司']:
re_years_value = years[0:4]
else:
re_years_value = years[0:3]
re_years_value_list.append(re_years_value)
dsl = {
"terms": {
"chenglinianxian": re_years_value_list
}
}
querybody['query']['bool']['must'].append(dsl)
if 'hangyeleibie' in re_item:
dsl = {
"terms": {
"hangyeleibie": re_item['hangyeleibie']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'jingyingzhuangtai' in re_item:
dsl = {
"terms": {
"jingyingzhuangtai": re_item['jingyingzhuangtai']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'jingyinghangye' in re_item:
dsl = {
"terms": {
"jingyinghangye": re_item['jingyinghangye']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'jingyingdiqu' in re_item:
dsl = {
"terms": {
"jingyingdiqu": re_item['jingyingdiqu']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'fengongsishuliang' in re_item:
branches = re_item['fengongsishuliang']
re_branches_list = []
for branch_item in branches:
if branch_item[0:4] in ['枝繁叶茂', '草木稀疏', '一枝独秀']:
re_branches = branch_item[0:4]
else:
re_branches = branch_item
re_branches_list.append(re_branches)
dsl = {
"terms": {
"fengongsishuliang": re_branches_list
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zhuanli' in re_item:
patent_nu = re_item['zhuanli']
for zhuanli_item in patent_nu:
if zhuanli_item[0:2] == '专利':
re_patent_nu = zhuanli_item[0:4]
else:
re_patent_nu = zhuanli_item[0:4]
dsl = {
"wildcard": {
'zhuanli': "*" + re_patent_nu + "*"
}
}
querybody['query']['bool']['must'].append(dsl)
if 'shangbiao' in re_item:
trademark = re_item['shangbiao']
for trademark_item in trademark:
if trademark_item[0:2] == '商标':
re_trademark = trademark_item[0:2]
else:
re_trademark = trademark_item[0:2]
dsl = {
"wildcard": {
"shangbiao": "*" + re_trademark + "*"
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zuopinzhuzuoquan' in re_item:
work_nu = re_item['zuopinzhuzuoquan']
for work_item in work_nu:
if work_item[0:4] == '作品著作':
re_work_nu = work_item[0:4]
else:
re_work_nu = work_item[0:4]
dsl = {
"wildcard": {
"zuopinzhuzuoquan": "*" + re_work_nu + "*"
}
}
querybody['query']['bool']['must'].append(dsl)
if 'suozaidiqu' in re_item:
address_nu = re_item['suozaidiqu']
for address_item in address_nu:
dsl = {
"wildcard": {
"suozaidiqu": "*" + address_item + "*"
}
}
querybody['query']['bool']['must'].append(dsl)
if 'ruanjianzhuzuoquan' in re_item:
soft_nu = re_item['ruanjianzhuzuoquan']
for soft_item in soft_nu:
soft_label = soft_item[0:4]
dsl = {
"wildcard": {
"ruanjianzhuzuoquan": "*" + soft_label + "*"
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zhengzhao' in re_item:
cliense_nu = re_item['zhengzhao']
dsl = {
"terms": {
"zhengzhao": cliense_nu
}
}
querybody['query']['bool']['must'].append(dsl)
if 'chanpindalei' in re_item:
product_cateory = re_item['chanpindalei']
dsl = {
"terms": {
"chanpindalei": product_cateory
}
}
querybody['query']['bool']['must'].append(dsl)
if 'fengxian' in re_item:
fengxian_label = re_item['fengxian']
dsl = {
"terms": {
"risk_label": fengxian_label
}
}
querybody['query']['bool']['must'].append(dsl)
print('查询语法:', querybody)
searched = self.es.search(index=self.index_name, doc_type=self.index_type, body=querybody)
es_company_info = {}
company_hx_list = []
if (searched["hits"]["total"] > 0):
for row in searched["hits"]["hits"]:
company_name = row['_source']["companyname"]
company_hx_list.append(company_name)
total = searched["hits"]["total"]
es_company_info['company_hx_list'] = company_hx_list
es_company_info['total'] = total
return es_company_info
def select_url(self,company_name):
hx_logo_address = '暂无logo'
try:
logo_url = hx_logo_Dao()
logo_info = logo_url.select_hx_logo(company_name)
for row in logo_info:
print(logo_info,"oooo")
id = row['id']
company_name = row['company_name']
hx_logo_address = row['company_logo_url']
finally:
DataInfo = DataBase()
DataInfo.close()
return hx_logo_address
hx = HX()
# 画像检索接口
def hx_company_dict(server):
@server.route('/gsb/api/hx_dict', methods=['POST'])
def hx_dict_select():
print(22)
if request.method == 'POST':
requestdata = request.json
company_name = requestdata.get('company_name')
print(type(company_name), 0000)
try:
base_result = companybase.companyinfo(company_name)
logo_url = hx.select_url(company_name)
base_result['logo'] = logo_url
return {"status": 200, "msg": "成功", "data": base_result}
except:
return {"status": 404, "msg": "成功", "data": "暂无符合条件的商机,请您修改条件进行检索!"}
def hx_company_list(server):
@server.route('/gsb/api/hx_list', methods=['POST'])
def hx_select_main():
if request.method == 'POST':
requestdata = request.json
print('requestdata',requestdata)
total = ""
select_filter = requestdata.get('select_filter')
pagesize = requestdata.get('pagesize')
currentpage = requestdata.get('currentpage')
try:
base_result_list = []
re_item = {}
if requestdata != []:
for item in select_filter:
name = item['name']
list = item['list']
re_item[name] = list
es_company_info = hx.hxsearch(re_item,pagesize,currentpage)
for company_name in es_company_info['company_hx_list']:
base_result = companybase.companyinfo(company_name)
logo_url = hx.select_url(company_name)
base_result['logo'] = logo_url
base_result_list.append(base_result)
total = es_company_info['total']
print("len_result",len(base_result_list))
else:
es_company_info = hx.hxsearch(select_filter,pagesize,currentpage)
for company_name in es_company_info['company_hx_list']:
base_result = companybase.companyinfo(company_name)
logo_url = hx.select_url(company_name)
base_result['logo'] = logo_url
base_result_list.append(base_result)
total = es_company_info['total']
print("len_result", len(base_result_list))
except:
base_result_list = "暂无该检索信息,请您修改条件进行检索!"
return {"status": 200, "msg": "成功", "data": base_result_list,"total":total}
#!/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
import json
from dao.tj_purchase_original_dao import OriginalDao
from dao.tj_lable_depth_dao import LableDao
from dao.tj_product_depth_dao import ProductDao
from dao.tj_provide_company import ProvideDao
from common.now_time import now_time
from common.link_task import ProductService
class Recom:
#用户历史购买
def company_behavior(self,company_name):
company_purchase = []
original = OriginalDao()
behavior_result = original.select(company_name)
print(behavior_result,11)
num = 1
if behavior_result:
for item in behavior_result:
# print(item)
behavior_json = {}
behavior_json['num'] = num
behavior_json['goods_name'] = item['merge_product_name']
behavior_json['purchase_date'] = str(item['order_add_time'])
behavior_json['contract_amount'] = item['order_pay']
behavior_json['source'] = item['order_channel']
behavior_json['company_name'] = company_name
item['status'] = "已完成"
company_purchase.append(behavior_json)
num = num+1
return company_purchase
def lable_type(self,label_type,item,company_lable_list):
label_change_dict ={"base_label":"基本标签","management_label":"经营标签","asset_label":"资产标签","preference_label":"偏好标签","product_label":"产品标签","risk_label":"风险标签","intellectual_property_right":"知识产权标签","business_label":"业务标签","key_people":"关键人标签",}
dict = {}
if item != None:
dict['lable_type'] =label_change_dict[label_type]
lable_data = []
base_lable = json.loads(item)
if len(base_lable) > 0:
for data in base_lable:
for type in data:
lable_data.append(data[type])
dict['lable_data'] = lable_data
if len(dict['lable_data']) != 0:
company_lable_list.append(dict)
return company_lable_list
def lable_type_list(self,lable_type,item,company_lable_list):
label_change_dict = {"base_label": "基本标签", "management_label": "经营标签", "asset_label": "资产标签",
"preference_label": "偏好标签", "product_label": "产品标签", "risk_label": "风险标签",
"intellectual_property_right": "知识产权标签", "business_label": "业务标签", "key_people": "关键人标签", }
dict = {}
if item:
dict['lable_type'] = label_change_dict[lable_type]
dict['lable_data'] = json.loads(item.replace("'",'"'))
if len(dict['lable_data']) != 0:
company_lable_list.append(dict)
return company_lable_list
#企业画像
def company_label(self,company_name):
# json_info = {}
# json_info['insert_status'] = 1
# json_info['pageNum'] = 1
# json_info['pageSize'] = 2
# json_info['companyName'] = company_name
# json_info['currdate'] = str(now_time())
# ProductService(json_info)
company_lable_list = []
lable = LableDao()
lable_result = lable.select(company_name)
if lable_result:
for item in lable_result:
#基本标签
# if item['base_label'] != None:
# base_lable_dict['lable_type'] = "基本标签"
# base_lable_data = []
# base_lable = json.loads(item['base_label'])
# for data in base_lable:
# for type in data:
# base_lable_data.append(data[type])
# base_lable_dict['lable_data'] = base_lable_data
# company_lable_list.append(base_lable_dict)
#基本标签
company_lable_list = self.lable_type("base_label",item['base_label'],company_lable_list)
print(company_lable_list,"结果")
#经营标签
company_lable_list = self.lable_type("management_label",item['management_label'], company_lable_list)
# #资产标签
company_lable_list = self.lable_type_list("asset_label",item['asset_label'], company_lable_list)
#偏好标签
company_lable_list = self.lable_type("preference_label",item['preference_label'], company_lable_list)
# #产品标签
company_lable_list = self.lable_type_list("product_label",item['product_label'], company_lable_list)
# #风险标签
company_lable_list = self.lable_type_list("risk_label",item['risk_label'], company_lable_list)
#知识产权标签
company_lable_list = self.lable_type("intellectual_property_right",item['intellectual_property_right'], company_lable_list)
#业务标签
company_lable_list = self.lable_type("business_label",item['business_label'], company_lable_list)
#关键人标签
company_lable_list = self.lable_type("key_people",item['key_people'], company_lable_list)
# #经营标签
# if item['management_label'] != None:
# management_lable_dict['lable_type'] = "经营标签"
# management_lable_data = []
# management_label = json.loads(item['management_label'])
# for data in management_label:
# for type in data:
# management_lable_data.append(data[type])
# management_lable_dict['lable_data'] = management_lable_data
# company_lable_list.append(management_lable_dict)
# #资产标签
# if item['asset_label'] != None:
# asset_lable_dict['lable_type'] = "资产标签"
# asset_lable_data = []
# asset_label = json.loads(item['asset_label'])
# for data in asset_label:
# for type in data:
# asset_lable_data.append(data[type])
# asset_lable_dict['lable_data'] = asset_lable_data
# company_lable_list.append(asset_lable_dict)
#偏好标签
# if item['preference_label'] != None:
# preference_lable_dict['lable_type'] = "偏好标签"
# preference_lable_data = []
# preference_lable = json.loads(item['preference_label'])
# for data in preference_lable:
# for type in data:
# preference_lable_data.append(data[type])
# preference_lable_dict['lable_data'] = preference_lable_data
# company_lable_list.append(preference_lable_dict)
#产品标签
# if item['product_label'] != None:
# product_lable_dict['lable_type'] = "产品标签"
# product_lable_data = item['product_label'].replace("[","").replace("]","").replace("'","").replace(" ", "").split(',')
# product_lable_dict['lable_data'] = product_lable_data
# company_lable_list.append(product_lable_dict)
#风险标签
# if item['risk_label'] != None:
# risk_lable_dict['lable_type'] = "偏好标签"
# preference_lable_data = []
# preference_lable = json.loads(item['risk_label'])
# for data in preference_lable:
# for type in data:
# preference_lable_data.append(data[type])
# risk_lable_dict['lable_data'] = preference_lable_data
# company_lable_list.append(risk_lable_dict)
# else:
# lable = LableDao()
# lable_result = lable.select_label_slave(company_name)
# product_lable_data = []
# product_lable_dict={}
# for item in lable_result:
# credit_code = item['credit_code']
# establish_time_span = item['establish_time_span'] + '年'
# gsb_company_cate_1 = item['gsb_company_cate_1']
# address = item['address']
# product_lable_dict['lable_type'] = '基本标签'
# product_lable_data.append(credit_code)
# product_lable_data.append(establish_time_span)
# product_lable_data.append(gsb_company_cate_1)
# product_lable_data.append(address)
# product_lable_dict['lable_data'] = product_lable_data
# company_lable_list.append(product_lable_dict)
return company_lable_list
#企业推荐产品
def recommend_product(self):
recommend_product_list = []
product = ProductDao()
provide = ProvideDao()
company_list = []
company_result = provide.select()
for item in company_result:
bussiness_dict = {}
business_data_dict = {}
company_name = item['company_name']
company_list.append(item['id'])
company_id = item['company_id']
bussinessid = item['serial_number']
create_time = str(item['create_time'])[:10]
business_data_dict['companyId'] = company_id
business_data_dict['companyName'] = company_name
business_data_dict['businessId'] = bussinessid
business_data_dict['createTime'] = create_time
bussiness_dict['businessData'] = business_data_dict
product_result = product.select(company_name)
for data in product_result:
bussiness_dict['productList'] = []
if data['relational_product']:
relational = eval(data['relational_product'])
for item in relational:
item['typeCate'] = item['typeName']
item['typeName'] = "关联推荐"
bussiness_dict['productList'].append(item)
if data['similar_product']:
similar = eval(data['similar_product'])
for item in similar:
item['typeCate'] = item['typeName']
item['typeName'] = "同类推荐"
bussiness_dict['productList'].append(item)
if data['cross_product']:
cross = eval(data['cross_product'])
for item in cross:
item['typeCate'] = item['typeName']
item['typeName'] = "交叉推荐"
bussiness_dict['productList'].append(item)
recommend_product_list.append(bussiness_dict)
if len(company_list) > 0:
provide.update_status(company_list)
return recommend_product_list
# 商机
def business(self):
business_list = []
company_list = []
provide = ProvideDao()
company_result = provide.select()
for item in company_result:
print(item)
company_list.append(item['id'])
business_data_dict = {}
crm_company_name = item['crm_company_name']
standard_company_name = item['standard_company_name']
company_id = item['credit_code']
bussinessid = item['serial_number']
create_time = str(item['create_time'])[:10]
business_data_dict['companyId'] = company_id
business_data_dict['crm_company_name'] = crm_company_name
business_data_dict['standard_company_name'] = standard_company_name
business_data_dict['businessId'] = bussinessid
business_data_dict['createTime'] = create_time
print(business_data_dict)
business_list.append(business_data_dict)
if len(company_list) > 0:
provide.update_status(company_list)
return business_list
# 公司名推荐产品方法
def product_fun(self, company_name):
product_list = []
product = ProductDao()
product_result = product.select(company_name)
for data in product_result:
print(data,"======推荐产品")
if data['relational_product_old']:
relational = eval(data['relational_product_old'])
for item in relational:
print(item,"====业务产品item")
item['productName'] = item['commodityName']
del item['commodityName']
item['typeCate'] = item['typeName']
item['typeName'] = "关联推荐"
product_list.append(item)
print(product_list,"===========业务产品list")
if data['similar_product_old']:
similar = eval(data['similar_product_old'])
for similaritem in similar:
similaritem['typeCate'] = similaritem['typeName']
similaritem['productName'] = similaritem['commodityName']
similaritem['typeName'] = "同类推荐"
product_list.append(similaritem)
if data['cross_product_old']:
cross = eval(data['cross_product_old'])
for crossitem in cross:
crossitem['typeCate'] = crossitem['typeName']
crossitem['productName'] = crossitem['commodityName']
crossitem['typeName'] = "交叉推荐"
product_list.append(crossitem)
if data['survey_product_old']:
survey = eval(data['survey_product_old'])
for surveyitem in survey:
surveyitem['typeCate'] = surveyitem['typeName']
surveyitem['productName'] = surveyitem['commodityName']
surveyitem['typeName'] = "监测推荐"
product_list.append(surveyitem)
print(product_list, "===========业务产品list1")
return product_list
# 商机推荐产品
def business_product(self, business_id,product_select ):
print("0000")
provide = ProvideDao()
product_list = []
resaon = []
product_result = provide.select_id(business_id)
for data in product_result:
if product_select == '复购算法':
if data['similar_product']:
similar = eval(data['similar_product'])
for similaritem in similar:
similaritem['typeCate'] = similaritem['typeName']
similaritem['productName'] = similaritem['commodityName']
similaritem['typeName'] = "同类推荐"
product_list.append(similaritem)
# if data['cross_product']:
# cross = eval(data['cross_product'])
# for crossitem in cross:
# crossitem['typeCate'] = crossitem['typeName']
# crossitem['productName'] = crossitem['commodityName']
# crossitem['typeName'] = "交叉推荐"
# product_list.append(crossitem)
if product_select == "关联推荐":
if data['relational_product']:
relational = eval(data['relational_product'])
for item in relational:
item['productName'] = item['commodityName']
del item['commodityName']
item['typeCate'] = item['typeName']
item['typeName'] = "关联推荐"
product_list.append(item)
print(product_list, "===========业务产品list")
if product_select == "智能监测":
if data['survey_product']:
if data['survey_product_reason']:
resaon = json.loads(data['survey_product_reason'])
survey = eval(data['survey_product'])
for surveyitem in survey:
surveyitem['typeCate'] = surveyitem['typeName']
surveyitem['productName'] = surveyitem['commodityName']
surveyitem['typeName'] = "监测推荐"
product_list.append(surveyitem)
print(product_list, "===========业务产品list1")
return product_list,resaon
# 公司名推荐产品
def company_product(self, company_name):
product_list = self.product_fun(company_name)
return product_list
# if __name__ == '__main__':
# aa = Recom()
#
# behave_result = aa.company_behavior("深圳市海果达科技有限公司")
# print(behave_result)
# #
# result = aa.company_label("厦门秋鸣文化传媒有限公司")
# print(result)
# product_result = aa.recommend_product("厦门秋鸣文化传媒有限公司")
# print(product_result)
# behavior("重庆饱不了餐椅管理有限公司")
\ 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