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