import json import random from dspt_api.util.random_params import random_params # 将接口请求的数据中卖品信息整理成列表结构 def format_goods(_data): goods_list = [] for cate in _data['res']['data']: for g in cate['goods']: goods_list.append(g) return {'res': {'status': _data['res']['status'], 'data': goods_list}} # 将接口获取的卖品数据转化成请求参数格式 def general_goods_param(_data): params = [] total_cash = 0 for g in _data: _num = g.get('buy_num', 1) info = { 'id': g['id'], 'type': g['type'], 'price': round(float(g.get('partnerPrice', g['onlinePrice'])) * _num, 2), 'num': _num } if g['type'] == 'package' and g['packageType'] == '2': add_price = 0 optional_package = [] for key, val in g['user_select'].items(): member = [] member_id = [] for m in val['data']: if m['id'] in member_id: for item in member: if item['id'] == m['id']: item['num'] = item['num'] + 1 add_price += round(float(m['addPrice']), 2) else: member.append({'id': m['id'], 'num': 1, 'add_price': m['addPrice']}) member_id.append(m['id']) add_price += round(float(m['addPrice']), 2) optional_package.append({'index': key, 'members': member}) info['optional_package'] = optional_package info['price'] = round(info['price'] + add_price, 2) total_cash = round(total_cash + info['price'] * _num, 2) params.append(info) print('general_goods_param---------params', params) return params, total_cash