|
|
|
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
|