Commit b120ec7f by 黄静

hj

parent f1cc1eaa
#!/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)
...@@ -9,212 +9,239 @@ ...@@ -9,212 +9,239 @@
from flask import request, jsonify from flask import request, jsonify
from elasticsearch import Elasticsearch from elasticsearch import Elasticsearch
from service.company_basic import CompanyBase from service.company_basic import CompanyBase
import json from dao.select_hx_logo import hx_logo_Dao
from db.mod_db import DataBase
companybase = CompanyBase() companybase = CompanyBase()
class HX: class HX:
def __init__(self): def __init__(self):
# self.esip = "43.247.184.94"
# self.esport = 9200
self.esip = "43.247.184.94" self.esip = "43.247.184.94"
self.esport = 9200 self.esport = 9200
# self.index_name = "company_bigdata_hx" self.index_name = "bigdata_ic_gsb_label"
self.index_name = "company_bigdata_risk"
self.index_type = "_doc" self.index_type = "_doc"
self.esuser = "admines" self.esuser = "admines"
self.espassword = "adminGSBes" self.espassword = "adminGSBes."
self.es = Elasticsearch([self.esip], http_auth=(self.esuser, self.espassword), port=self.esport) self.es = Elasticsearch([self.esip], http_auth=(self.esuser, self.espassword), port=self.esport)
# self.es = Elasticsearch([self.esip], port=self.esport)
def hxsearch(self, re_item): def hxsearch(self,re_item):
querybody = { querybody = {
"query": { "query": {
"regexp": { "bool": {
"must": [ "must": [
] ]
} }
} },
"size": 2000,
} }
if 'qiyeguimo' in re_item:
if "qiyeguimo" in re_item:
dsl = { dsl = {
"terms": { "terms": {
"qiyeguimo": re_item['qiyeguimo'] "qiyeguimo.raw": re_item['qiyeguimo']
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody["query"]["bool"]["must"].append(dsl)
# print(querybody, 111)
if 'qiyeleixing' in re_item: if 'qiyeleixing' in re_item:
dsl = { dsl = {
"terms": { "terms": {
"qiyeleixing": re_item['qiyeleixing'] "qiyeleixing.raw": re_item['qiyeleixing']
}} }}
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'chenglinianxian' in re_item: if 'chenglinianxian' in re_item:
years_value = re_item['years_value'] years_value = re_item['chenglinianxian']
for years_item in years_value: re_years_value_list = []
if years_item[0:4] in ['青年公司', '长青公司', '成熟公司', '长寿公司']: for years in years_value:
re_years_value = years_item[0:4] if years[0:4] in ['青年公司', '长青公司', '成熟公司', '长寿公司']:
re_years_value = years[0:4]
else: else:
re_years_value = years_item[0:3] re_years_value = years[0:3]
dsl = { re_years_value_list.append(re_years_value)
"wildcard": { # print(re_years_value_list, 111)
"chenglinianxian": re_years_value + '*'
}
}
querybody['query']['bool']['must'].append(dsl)
if 'hangyeleibie' in re_item:
dsl = { dsl = {
"terms": { "terms": {
"hangyeleibie": re_item['hangyeleibie'] "chenglinianxian.raw": re_years_value_list
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'jingyingzhuangtai' in re_item: if 'jingyingzhuangtai' in re_item:
dsl = { dsl = {
"terms": { "terms": {
"jingyingzhuangtai": re_item['jingyingzhuangtai'] "jingyingzhuangtai.row": re_item['jingyingzhuangtai']
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'jingyingdiqu' != "": if 'jingyingdiqu' in re_item:
dsl = { dsl = {
"term": { "terms": {
"jingyingdiqu": re_item['jingyingdiqu'] "jingyingdiqu.raw": re_item['jingyingdiqu']
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'fengongsishuliang' in re_item: if 'fengongsishuliang' in re_item:
branches = re_item['fengongsishuliang'] branches = re_item['fengongsishuliang']
for branches_item in branches: re_branches_list = []
if branches_item[0:4] in ['枝繁叶茂', '草木稀疏', '一枝独秀']: for branch_item in branches:
re_branches = branches_item[0:4] if branch_item[0:4] in ['枝繁叶茂', '草木稀疏', '一枝独秀']:
dsl = { re_branches = branch_item[0:4]
"wildcard": { else:
"fengongsishuliang": re_branches + '*' re_branches = branch_item
} re_branches_list.append(re_branches)
} dsl = {
querybody['query']['bool']['must'].append(dsl) "terms": {
"fengongsishuliang.raw": re_branches_list
}
}
querybody['query']['bool']['must'].append(dsl)
if 'zhengzhao' in re_item: if 'zhengzhao' in re_item:
dsl = { dsl = {
"terms": { "terms": {
"zhengzhao": re_item['zhengzhao'] "zhengzhao.raw": re_item['zhengzhao']
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'zhuanli' in re_item: if 'zhuanli' in re_item:
patent_nu = re_item['zhuanli'] patent_nu = re_item['zhuanli']
for patent_item in patent_nu: for zhuanli_item in patent_nu:
if patent_item[0:2] == '专利': if zhuanli_item[0:2] == '专利':
re_patent_nu = patent_nu[0:2] re_patent_nu = zhuanli_item[0:4]
dsl = { else:
"wildcard": { re_patent_nu = zhuanli_item[0:4]
'zhuanli': re_patent_nu + '*' dsl = {
} "wildcard": {
'zhuanli.raw': "*" + re_patent_nu + "*"
} }
querybody['query']['bool']['must'].append(dsl) }
querybody['query']['bool']['must'].append(dsl)
if 'shangbiao' in re_item: if 'shangbiao' in re_item:
trademark = re_item['shangbiao'] trademark = re_item['shangbiao']
for trademark_item in trademark: for trademark_item in trademark:
if trademark_item[0:2] == '商标': if trademark_item[0:2] == '商标':
re_trademark = trademark_item[0:2] re_trademark = trademark_item[0:2]
dsl = { else:
"wildcard": { re_trademark = trademark_item[0:2]
"shangbiao": re_trademark + '*' dsl = {
} "wildcard": {
"shangbiao.raw": "*" + re_trademark + "*"
} }
querybody['query']['bool']['must'].append(dsl) }
querybody['query']['bool']['must'].append(dsl)
if 'zuopinzhuzuoquan' in re_item: if 'zuopinzhuzuoquan' in re_item:
work_nu = re_item['shangbiao'] work_nu = re_item['zuopinzhuzuoquan']
for work_item in work_nu: for work_item in work_nu:
if work_item[0:4] == '作品著作': if work_item[0:4] == '作品著作':
re_work_nu = work_nu[0:4] re_work_nu = work_item[0:4]
dsl = { else:
"wildcard": { re_work_nu = work_item[0:4]
"zuopinzhuzuoquan": re_work_nu + '*' dsl = {
} "wildcard": {
"zuopinzhuzuoquan.raw": "*" + re_work_nu + "*"
} }
querybody['query']['bool']['must'].append(dsl) }
querybody['query']['bool']['must'].append(dsl)
if 'suozaidiqu' in re_item: if 'suozaidiqu' in re_item:
company_location = re_item['suozaidiqu'] address_nu = re_item['suozaidiqu']
for location in company_location: for address_item in address_nu:
if location[0:2] in ['北京', '天津', '山西', '河北','广东', '广西', '海南', '香港', '澳门', '河南', '湖北', '湖南',
'上海', '江苏', '浙江', '安徽', '福建', '江西', '山东', '台湾','吉林', '辽宁', '陕西', '甘肃',
'青海', '宁夏', '新疆', '四川', '贵州', '云南', '重庆', '西藏']:
re_location = location[0:2]
else:
re_location = location[0:3]
dsl = { dsl = {
"wildcard": { "wildcard": {
"suozaidiqu": re_location + '*' "suozaidiqu.raw": "*" + address_item + "*"
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'ruanjianzhuzuoquan' in re_item: if 'ruanjianzhuzuoquan' in re_item:
soft_ware = re_item['ruanjianzhuzuoquan'] soft_nu = re_item['ruanjianzhuzuoquan']
for soft_ware_item in soft_ware: for soft_item in soft_nu:
if soft_ware_item[0:4] == '软件著作': soft_label = soft_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 = { dsl = {
"wildcard": { "wildcard": {
"chanpinxinxi": '*' + product_item + '*' "ruanjianzhuzuoquan.raw": "*" + soft_label + "*"
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'fengxian' in re_item: if 'zhengzhao' in re_item:
cliense_nu = re_item['zhengzhao']
dsl = { dsl = {
"terms": { "terms": {
"fengxian": re_item['fengxian'] "zhengzhao.raw": cliense_nu
}
}
querybody['query']['bool']['must'].append(dsl)
if 'chanpinxinxi' in re_item:
product_info = re_item['chanpinxinxi']
dsl = {
"terms": {
"product_label.raw": product_info
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'chanpindalei' in re_item: if 'chanpindalei' in re_item:
product_cateory = re_item['chanpindalei']
dsl = { dsl = {
"terms": { "terms": {
"chanpindalei": re_item['chanpindalei'] "chanpindalei.keyword": product_cateory
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
if 'jingyinghangye' in re_item:
if 'fengxian' in re_item:
fengxian_label = re_item['fengxian']
dsl = { dsl = {
"terms": { "terms": {
"jingyinghangye": re_item['jingyinghangye'] "risk_label.keyword": fengxian_label
} }
} }
querybody['query']['bool']['must'].append(dsl) querybody['query']['bool']['must'].append(dsl)
print('查询语法:', querybody) print('查询语法:', querybody)
searched = self.es.search(index=self.index_name, doc_type=self.index_type, body=querybody, request_timeout=1000) searched = self.es.search(index=self.index_name, doc_type=self.index_type, body=querybody, request_timeout=1000)
company_hx_list = [] company_hx_list = []
if (searched["hits"]["total"] > 0): if (searched["hits"]["total"] > 0):
for row in searched["hits"]["hits"]: for row in searched["hits"]["hits"]:
company_name = row['_source']["company_name"] company_name = row['_source']["companyname"]
company_hx_list.append(company_name) company_hx_list.append(company_name)
return company_hx_list return company_hx_list
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() hx = HX()
# 画像检索接口 # 画像检索接口
...@@ -228,18 +255,14 @@ def hx_company_dict(server): ...@@ -228,18 +255,14 @@ def hx_company_dict(server):
print(type(company_name), 0000) print(type(company_name), 0000)
try: try:
base_result = companybase.companyinfo(company_name) base_result = companybase.companyinfo(company_name)
base_result['logo'] = 'xxx' logo_url = hx.select_url(company_name)
base_result['logo'] = logo_url
return {"status": 200, "msg": "成功", "data": base_result}
except: except:
base_result = { return {"status": 404, "msg": "成功", "data": "暂无符合条件的商机,请您修改条件进行检索!"}
"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): def hx_company_list(server):
...@@ -250,41 +273,44 @@ def hx_company_list(server): ...@@ -250,41 +273,44 @@ def hx_company_list(server):
print(requestdata, 1121212) print(requestdata, 1121212)
base_result = "" base_result = ""
re_item = {} re_item = {}
try: # try:
for item in requestdata: for item in requestdata:
name = item['name'] name = item['name']
list = item['list'] list = item['list']
re_item[name] = list re_item[name] = list
company_hx_list = HX.hxsearch(re_item) company_hx_list = hx.hxsearch(re_item)
base_result_list = [] base_result_list = []
for company_name in company_hx_list: for company_name in company_hx_list:
base_result = companybase.companyinfo(company_name) base_result = companybase.companyinfo(company_name)
base_result_list.append(base_result) logo_url = hx.select_url(company_name)
except: base_result['logo'] = logo_url
base_result = [{ base_result_list.append(base_result)
"company_name": "北京晟软在线科技有限公司", print("len_result",len(base_result_list))
"business_scope": "技术开发、技术转让、技术咨询、技术服务;计算机系统服务;应用软件服务;软件开发。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)", # except:
"reg_unit": "100.000", # base_result = [{
"establish_time": "2010-11-03", # "company_name": "北京晟软在线科技有限公司",
"legal_person_name": "赵学军", # "business_scope": "技术开发、技术转让、技术咨询、技术服务;计算机系统服务;应用软件服务;软件开发。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_location": "北京市海淀区中关村软件园11号楼3层330", # "reg_unit": "100.000",
"logo": "xxx" # "establish_time": "2010-11-03",
}, { # "legal_person_name": "赵学军",
"company_name": "北京游逗科技有限公司", # "reg_location": "北京市海淀区中关村软件园11号楼3层330",
"business_scope": "技术推广服务;票务代理(不含航空机票销售代理);旅游信息咨询(不含中介服务);酒店管理;风景名胜区规划;企业形象策划;企业管理咨询(不含中介服务);应用软件服务(不含医用软件服务);销售计算机、软件及辅助设备、电子产品、通讯设备;计算机系统服务。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)", # "logo": "https://gsb-zc.oss-cn-beijing.aliyuncs.com/北京晟软在线科技有限公司.png"
"reg_unit": "200.000", # }, {
"establish_time": "2017-11-27", # "company_name": "北京游逗科技有限公司",
"legal_person_name": "王京", # "business_scope": "技术推广服务;票务代理(不含航空机票销售代理);旅游信息咨询(不含中介服务);酒店管理;风景名胜区规划;企业形象策划;企业管理咨询(不含中介服务);应用软件服务(不含医用软件服务);销售计算机、软件及辅助设备、电子产品、通讯设备;计算机系统服务。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_location": "北京市丰台区程庄北里13号楼二层207室", # "reg_unit": "200.000",
"logo": "xxx" # "establish_time": "2017-11-27",
}, { # "legal_person_name": "王京",
"company_name": "北京码农村科技有限公司", # "reg_location": "北京市丰台区程庄北里13号楼二层207室",
"business_scope": "技术开发、技术转让、技术咨询、技术推广、技术服务;计算机系统服务;软件开发;电脑动画设计;经济贸易咨询;企业策划;企业管理咨询;销售自行开发后的产品。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)", # "logo": "暂无logo"
"reg_unit": "100.000", # }, {
"establish_time": "2016-07-06", # "company_name": "北京码农村科技有限公司",
"legal_person_name": "白冰", # "business_scope": "技术开发、技术转让、技术咨询、技术推广、技术服务;计算机系统服务;软件开发;电脑动画设计;经济贸易咨询;企业策划;企业管理咨询;销售自行开发后的产品。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)",
"reg_location": "北京市海淀区高里掌路1号院6号楼104-165", # "reg_unit": "100.000",
"logo": "xxx" # "establish_time": "2016-07-06",
}] # "legal_person_name": "白冰",
print(base_result, 111) # "reg_location": "北京市海淀区高里掌路1号院6号楼104-165",
return {"status": 200, "msg": "成功", "data": base_result} # "logo": "暂无logo"
# }]
print(base_result_list, 111)
return {"status": 200, "msg": "成功", "data": base_result_list}
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