Commit add28d53 by 黄静

hj

parent 2111e70b
......@@ -23,6 +23,10 @@ from service.moneyAPI import moneyAPI
from service.company_30s import tj_30s_hx
from service.talking_name import talkingName_new
from service.change_message import companyChage
from service.label_connect import hx_connect
from service.label_type_1 import label_type1
from service.select_es_result import hx_company_dict,hx_company_list
server = Flask(__name__,static_url_path="",static_folder="")
server.config['JSON_AS_ASCII'] = False
......@@ -45,7 +49,10 @@ talkingName_new(server)
talking_product(server)
tj_30s_hx(server)
companyChage(server)
hx_connect(server)
label_type1(server)
hx_company_dict(server)
hx_company_list(server)
#基本信息
@server.route('/base_info', methods=['POST'])
......
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)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020-05-16 17:30
# @Author : hj
# @File : zhengce-select_es_result.py
# @Software: PyCharm
from flask import request, jsonify
from elasticsearch import Elasticsearch
from service.company_basic import CompanyBase
import json
companybase = CompanyBase()
class HX:
def __init__(self):
self.esip = "43.247.184.94"
self.esport = 9200
# self.index_name = "company_bigdata_hx"
self.index_name = "company_bigdata_risk"
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):
querybody = {
"query": {
"regexp": {
"must": [
]
}
}
}
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['years_value']
for years_item in years_value:
if years_item[0:4] in ['青年公司', '长青公司', '成熟公司', '长寿公司']:
re_years_value = years_item[0:4]
else:
re_years_value = years_item[0:3]
dsl = {
"wildcard": {
"chenglinianxian": re_years_value + '*'
}
}
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 'jingyingdiqu' != "":
dsl = {
"term": {
"jingyingdiqu": re_item['jingyingdiqu']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'fengongsishuliang' in re_item:
branches = re_item['fengongsishuliang']
for branches_item in branches:
if branches_item[0:4] in ['枝繁叶茂', '草木稀疏', '一枝独秀']:
re_branches = branches_item[0:4]
dsl = {
"wildcard": {
"fengongsishuliang": re_branches + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zhengzhao' in re_item:
dsl = {
"terms": {
"zhengzhao": re_item['zhengzhao']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zhuanli' in re_item:
patent_nu = re_item['zhuanli']
for patent_item in patent_nu:
if patent_item[0:2] == '专利':
re_patent_nu = patent_nu[0:2]
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]
dsl = {
"wildcard": {
"shangbiao": re_trademark + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zuopinzhuzuoquan' in re_item:
work_nu = re_item['shangbiao']
for work_item in work_nu:
if work_item[0:4] == '作品著作':
re_work_nu = work_nu[0:4]
dsl = {
"wildcard": {
"zuopinzhuzuoquan": re_work_nu + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'suozaidiqu' in re_item:
company_location = re_item['suozaidiqu']
for location in company_location:
if location[0:2] in ['北京', '天津', '山西', '河北','广东', '广西', '海南', '香港', '澳门', '河南', '湖北', '湖南',
'上海', '江苏', '浙江', '安徽', '福建', '江西', '山东', '台湾','吉林', '辽宁', '陕西', '甘肃',
'青海', '宁夏', '新疆', '四川', '贵州', '云南', '重庆', '西藏']:
re_location = location[0:2]
else:
re_location = location[0:3]
dsl = {
"wildcard": {
"suozaidiqu": re_location + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'ruanjianzhuzuoquan' in re_item:
soft_ware = re_item['ruanjianzhuzuoquan']
for soft_ware_item in soft_ware:
if soft_ware_item[0:4] == '软件著作':
re_soft_ware = soft_ware_item[0:4]
dsl = {
"wildcard": {
"ruanjianzhuzuoquan": re_soft_ware + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'chanpinxinxi' in re_item:
product_info = re_item['chanpinxinxi']
for product_item in product_info:
dsl = {
"wildcard": {
"chanpinxinxi": '*' + product_item + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'fengxian' in re_item:
dsl = {
"terms": {
"fengxian": re_item['fengxian']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'chanpindalei' in re_item:
dsl = {
"terms": {
"chanpindalei": re_item['chanpindalei']
}
}
querybody['query']['bool']['must'].append(dsl)
if 'jingyinghangye' in re_item:
dsl = {
"terms": {
"jingyinghangye": re_item['jingyinghangye']
}
}
querybody['query']['bool']['must'].append(dsl)
print('查询语法:', querybody)
searched = self.es.search(index=self.index_name, doc_type=self.index_type, body=querybody, request_timeout=1000)
company_hx_list = []
if (searched["hits"]["total"] > 0):
for row in searched["hits"]["hits"]:
company_name = row['_source']["company_name"]
company_hx_list.append(company_name)
return company_hx_list
# 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)
base_result['logo'] = 'xxx'
except:
base_result = {
"company_name": "北京码农村科技有限公司",
"business_scope": "技术开发、技术转让、技术咨询、技术推广、技术服务;计算机系统服务;软件开发;电脑动画设计;经济贸易咨询;企业策划;企业管理咨询;销售自行开发后的产品。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_unit": "100.000",
"establish_time": "2016-07-06",
"legal_person_name": "白冰",
"reg_location": "北京市海淀区高里掌路1号院6号楼104-165",
"logo": "xxx"
}
return {"status": 200, "msg": "成功", "data": base_result}
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, 1121212)
base_result = ""
re_item = {}
try:
for item in requestdata:
name = item['name']
list = item['list']
re_item[name] = list
company_hx_list = HX.hxsearch(re_item)
base_result_list = []
for company_name in company_hx_list:
base_result = companybase.companyinfo(company_name)
base_result_list.append(base_result)
except:
base_result = [{
"company_name": "北京晟软在线科技有限公司",
"business_scope": "技术开发、技术转让、技术咨询、技术服务;计算机系统服务;应用软件服务;软件开发。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_unit": "100.000",
"establish_time": "2010-11-03",
"legal_person_name": "赵学军",
"reg_location": "北京市海淀区中关村软件园11号楼3层330",
"logo": "xxx"
}, {
"company_name": "北京游逗科技有限公司",
"business_scope": "技术推广服务;票务代理(不含航空机票销售代理);旅游信息咨询(不含中介服务);酒店管理;风景名胜区规划;企业形象策划;企业管理咨询(不含中介服务);应用软件服务(不含医用软件服务);销售计算机、软件及辅助设备、电子产品、通讯设备;计算机系统服务。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_unit": "200.000",
"establish_time": "2017-11-27",
"legal_person_name": "王京",
"reg_location": "北京市丰台区程庄北里13号楼二层207室",
"logo": "xxx"
}, {
"company_name": "北京码农村科技有限公司",
"business_scope": "技术开发、技术转让、技术咨询、技术推广、技术服务;计算机系统服务;软件开发;电脑动画设计;经济贸易咨询;企业策划;企业管理咨询;销售自行开发后的产品。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_unit": "100.000",
"establish_time": "2016-07-06",
"legal_person_name": "白冰",
"reg_location": "北京市海淀区高里掌路1号院6号楼104-165",
"logo": "xxx"
}]
print(base_result, 111)
return {"status": 200, "msg": "成功", "data": base_result}
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