Commit 46fdd551 by xuxu

增加商标起名接口

parent cce5c7b7
No preview for this file type
from db.mod_db import DataBase
from common import sql_utils
class NameDao:
def __init__(self, db=None):
if db is None:
self.dataBase = DataBase(dbname="igirl")
else:
self.dataBase = db
def select_null_dao(self,size):
return self.dataBase.fetch_all(
'select * from check_name_treasure_name where name_type is null and state = 1 order by rand() limit %s' % (size))
def select_name_dao(self, ncl_one_list, name_size, include_word, word_type,):
if word_type == "首位":
include_word_type = include_word + "%"
if word_type == "末位":
include_word_type = "%" + include_word
if word_type == "中位" or word_type == "随机" or word_type == "" :
include_word_type = "%" + include_word + "%"
print('select * from tm_treasure_name where name_size = %s and ncl_one in (%s) and whether_register = 1 and tm_name like "%s" order by rand() limit 120 ' % (
name_size,sql_utils.to_sql_in(ncl_one_list), include_word_type))
return self.dataBase.fetch_all(
'select * from tm_treasure_name where name_size = %s and ncl_one in (%s) and whether_register = 1 and tm_name like "%s" order by rand() limit 120 ' % (
name_size,sql_utils.to_sql_in(ncl_one_list), include_word_type))
from db.mod_db import EsBase
index = "tm_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,ncl_one_list,name_size,include_word,word_type):
if word_type == "首位":
include_word_type = include_word + "*"
if word_type == "末位":
include_word_type = "*" + include_word
if word_type == "中位" or word_type == "随机" or word_type == '':
include_word_type = "*" + include_word + "*"
query = {
"from": 0,
"size": 120,
"query": {
"bool": {
"must": [
{
"match": {
"name_size": name_size
}
},
{
"match": {
"whether_register": 1
}
},
{
"wildcard": {
"tm_name": include_word_type
}
}
],
"should":[]
}
},
"sort": {
"_script": {
"script": "Math.random()",
"type": "number",
"order": "asc"
}
}
}
for ncl_one in ncl_one_list:
query['query']['bool']['should'].append({
"match_phrase": {
"ncl_one":ncl_one
}
})
return self.esBase.select(index=index,body=query)
...@@ -3,6 +3,8 @@ from flask import request ...@@ -3,6 +3,8 @@ from flask import request
from flask_cors import CORS from flask_cors import CORS
from service.name_recommend import company_name_explain from service.name_recommend import company_name_explain
from service.preference_selecter import preference_select from service.preference_selecter import preference_select
from service import tm_treasure_name
from common import common_result from common import common_result
import datetime import datetime
...@@ -45,6 +47,16 @@ def treasure_name_info(): ...@@ -45,6 +47,16 @@ def treasure_name_info():
result = company_name_explain(request_data) result = company_name_explain(request_data)
return common_result.to_result(result) return common_result.to_result(result)
#商标起名
@server.route('/tm_treasure_name', methods=['POST'])
def tm_treasure_name_info():
if request.method == 'POST':
request_data = request.json
if not request_data or not request_data.get('name_size') or not request_data.get('ncl_one_list'):
return common_result.to_result(None, 300, "参数错误")
result = tm_treasure_name.name_treasure(request_data)
return common_result.to_result(result)
if __name__ == '__main__': if __name__ == '__main__':
server.run(debug=True,host='0.0.0.0',port=80) # server.run(debug=True,host='0.0.0.0',port=80)
# server.run(debug=True, host='127.0.0.1', port=8083) server.run(debug=True, host='127.0.0.1', port=8090)
\ No newline at end of file \ No newline at end of file
...@@ -207,7 +207,7 @@ def mysql_reserve(final_name_list,name_five_result,json_result): ...@@ -207,7 +207,7 @@ def mysql_reserve(final_name_list,name_five_result,json_result):
for name in name_size_num_list: for name in name_size_num_list:
if name not in result[item]: if name not in result[item]:
result[item][name] = "" result[item][name] = ""
result[item][name] = round(name_type_num_list[item] * name_size_num_list[name] * find_size) result[item][name] = round(name_type_num_list[item] * name_size_num_list[name] * all_size)
all_num += result[item][name] all_num += result[item][name]
# name_search_result = namedao.select_name_dao(item, name, json_result['city'], json_result['cate'],result[item][name]) # name_search_result = namedao.select_name_dao(item, name, json_result['city'], json_result['cate'],result[item][name])
name_search_result = namedao.select_name_dao(item, name, result[item][name]) name_search_result = namedao.select_name_dao(item, name, result[item][name])
......
from dao.tm_treasure_name_es import NameEs
from dao.tm_treasure_name_dao import NameDao
name_es = NameEs()
name_dao = NameDao()
def name_treasure(result_json):
if "admiring_word" not in result_json:
result_json['admiring_word'] = ''
if "word_site" not in result_json:
result_json['word_site'] = ''
name_result_list = []
ncl_one_list = result_json['ncl_one_list']
name_size = result_json['name_size']
include_word = result_json['admiring_word']
word_type = result_json['word_site']
name_result = name_es.select_name(ncl_one_list,name_size,include_word,word_type)
if name_result:
if name_result['hits']['hits']:
for item in name_result['hits']['hits']:
if word_type == "首位" and include_word != '':
if item['_source']['tm_name'][0] == include_word:
name_result_list.append(item['_source']['tm_name'])
elif word_type == "末位" and include_word != '':
if item['_source']['tm_name'][-1] == include_word:
name_result_list.append(item['_source']['tm_name'])
elif word_type == "中位":
if item['_source']['tm_name'][-1] != include_word and item['_source']['tm_name'][0] != include_word :
name_result_list.append(item['_source']['tm_name'])
elif word_type == "随机" and include_word != '':
if include_word in item['_source']['tm_name']:
name_result_list.append(item['_source']['tm_name'])
else :
name_result_list.append(item['_source']['tm_name'])
#es挂了解决方案
if not name_result:
name_result = name_dao.select_name_dao(ncl_one_list, name_size, include_word, word_type)
for item in name_result:
if word_type == "首位" and include_word != '':
if item['tm_name'][0] == include_word :
name_result_list.append(item['tm_name'])
elif word_type == "末位" and include_word != '':
if item['tm_name'][-1] == include_word:
name_result_list.append(item['tm_name'])
elif word_type == "中位":
if item['tm_name'][0] != include_word and item['tm_name'][-1] != include_word:
name_result_list.append(item['tm_name'])
elif word_type == "随机" and include_word != '':
if include_word in item['tm_name']:
name_result_list.append(item['tm_name'])
else:
name_result_list.append(item['tm_name'])
return name_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