101 lines
4.3 KiB
Plaintext
101 lines
4.3 KiB
Plaintext
async def wlwl_parameter_search(ns={}):
|
|
"""
|
|
规格参数查找
|
|
:param ns:
|
|
:return:
|
|
"""
|
|
if ns.get('discount'):
|
|
if float(ns.get('discount')) > 1:
|
|
ns['discount'] = float(ns.get('discount')) / 10
|
|
high_school = ns.get('high_school')
|
|
chaosuan_center = ns.get('chaosuan_center')
|
|
params_list = [
|
|
['长距离', '双路由', '1G', '25000'],
|
|
['长距离', '双路由', '10G', '80000'],
|
|
['长距离', '双路由', '100G', '350000'],
|
|
['长距离', '单路由', '1G', '20000'],
|
|
['长距离', '单路由', '10G', '60000'],
|
|
['长距离', '单路由', '100G', '220000'],
|
|
['短距离', '双路由', '1G', '19000'],
|
|
['短距离', '双路由', '10G', '60000'],
|
|
['短距离', '双路由', '100G', '260000'],
|
|
['短距离', '单路由', '1G', '15000'],
|
|
['短距离', '单路由', '10G', '50000'],
|
|
['短距离', '单路由', '100G', '200000'],
|
|
['省内', '双路由', '1G', '13000'],
|
|
['省内', '双路由', '10G', '40000'],
|
|
['省内', '双路由', '100G', '180000'],
|
|
['省内', '单路由', '1G', '10000'],
|
|
['省内', '单路由', '10G', '30000'],
|
|
['省内', '单路由', '100G', '140000']
|
|
]
|
|
|
|
format_params = []
|
|
for item in params_list:
|
|
item_dic = {}
|
|
item_dic['distance'] = item[0]
|
|
item_dic['route_num'] = item[1]
|
|
item_dic['broadband'] = item[2]
|
|
item_dic['price'] = item[3]
|
|
if high_school and chaosuan_center and ns.get('route_num') and ns.get('broadband'):
|
|
if chaosuan_center == '无锡超算' and chaosuan_center == '上海交通大学':
|
|
distance = '短距离'
|
|
else:
|
|
distance = '长距离'
|
|
if distance == item[0] and ns.get('route_num') == item[1] and ns.get('broadband') == item[2]:
|
|
if not ns.get('discount'):
|
|
ns['discount'] = 1
|
|
return {
|
|
'status': True,
|
|
'msg': 'price search success',
|
|
'data': {'price': float(item[3]), 'distance': distance, 'discount_price': '%.1f'%(int(item[3]) * float(ns.get('discount')))}
|
|
}
|
|
format_params.append(item_dic)
|
|
data_dic = {}
|
|
data_dic['price_list'] = format_params
|
|
data_dic['distance'] = [{'distance': '长距离'},{'distance': '短距离'},{'distance': '省内'}]
|
|
data_dic['route_num'] = [{'route_num': '单路由'}, {'route_num': '双路由'}]
|
|
data_dic['broadband'] = [{'broadband': '1G'}, {'broadband': '10G'}, {'broadband': '100G'}]
|
|
data_dic['high_school'] = [{'name': '北京航空航天大学'}, {'name': '上海交通大学'}]
|
|
data_dic['chaosuan_center'] = [{'name': '济南超算'}, {'name': '无锡超算'}, {'name': '广州超算'}, {'name': '青岛超算'}]
|
|
if not ns:
|
|
return {
|
|
'status': True,
|
|
'msg': 'product params search success',
|
|
'data': data_dic
|
|
}
|
|
if ns.get('distance') and ns.get('route_num') and ns.get('broadband'):
|
|
pass
|
|
if ns.get('keyword') == 'distance':
|
|
return {
|
|
'status': True,
|
|
'msg': 'distance search success',
|
|
'data': [{'dist': '长距离'},{'dist': '短距离'},{'dist': '省内'}]
|
|
}
|
|
if ns.get('keyword') == 'route_num':
|
|
return {
|
|
'status': True,
|
|
'msg': 'route_num search success',
|
|
'data': [{'route_num': '单路由'}, {'route_num': '双路由'}]
|
|
}
|
|
if ns.get('keyword') == 'broadband':
|
|
return {
|
|
'status': True,
|
|
'msg': 'broadband search success',
|
|
'data': [{'broadband': '1G'}, {'broadband': '10G'}, {'broadband': '100G'}]
|
|
}
|
|
if ns.get('keyword') == 'chaosuan_center':
|
|
return {
|
|
'status': True,
|
|
'msg': 'chao suan center search success',
|
|
'data': [{'name': '济南超算'}, {'name': '无锡超算'}, {'name': '广州超算'}, {'name': '青岛超算'}]
|
|
}
|
|
if ns.get('keyword') == 'high_school':
|
|
return {
|
|
'status': True,
|
|
'msg': 'high school center search success',
|
|
'data': [{'name': '北京航空航天大学'}, {'name': '上海交通大学'}]
|
|
}
|
|
|
|
ret = await wlwl_parameter_search(params_kw)
|
|
return ret |