def __order_data(self, order): order_basic_info = order.get_order_basic_info() basic_data = { 'order_id': order_basic_info.get('order_id'), 'status_desc': order.get_status_text(), 'order_sn': order_basic_info.get('order_sn'), # 订单号 'postage': order_basic_info.get('postage'), # 邮费 'amount_payable': float(order_basic_info.get('amount_payable')) / 100.0, # 订单金额 } order_items = order.get_order_item_list() items = [] for order_item in order_items: item_basic = order_item.get_basic_info() sku_id = item_basic['sku_id'] goods_obj = Goods.fetch_by_sku(sku_id) sku_info = goods_obj.get_sku_info(sku_id) items.append({ 'thumbnail': sku_info['image_url'], 'sku_name': item_basic['goods_name'], 'number': item_basic['number'], 'attrs': item_basic['sku_property'], 'sale_price': float(item_basic['sale_price']) / 100.0 }) basic_data['items'] = items return basic_data
def __order_data(self, order): order_basic_info = order.get_order_basic_info() basic_data = { 'order_id': order_basic_info.get('order_id'), 'user_id': order_basic_info.get('user_id'), 'status_desc': order.get_status_text(), 'order_sn': order_basic_info.get('order_sn'), # 订单号 'postage': order_basic_info.get('postage'), # 邮费 'amount_payable': float(order_basic_info.get('amount_payable')) / 100.0, # 订单金额 } order_items = order.get_order_item_list() items = [] for order_item in order_items: item_basic = order_item.get_basic_info() sku_id = item_basic['sku_id'] goods_obj = Goods.fetch_by_sku(sku_id) sku_info = goods_obj.get_sku_info(sku_id) items.append({ 'thumbnail': sku_info['image_url'], 'sku_name': item_basic['goods_name'], 'number': item_basic['number'], 'attrs': item_basic['sku_property'], 'sale_price': float(item_basic['sale_price']) / 100.0 }) basic_data['items'] = items receiver = order.get_receiver() if receiver: receiver_basic = receiver.get_basic_info() basic_data['receiver'] = { 'name': receiver_basic.get('name'), 'mobile': receiver_basic.get('mobile'), 'address': ' '.join([ receiver_basic.get('province'), receiver_basic.get('city'), receiver_basic.get('district'), receiver_basic.get('address'), ]) } logistics = order.get_logistics() if logistics: logistics_basic = logistics.get_basic_info() logistics_res = { 'com': logistics_basic.get('com_name'), 'nu': logistics_basic.get('nu'), } logistics_data = logistics_basic.get('data') if logistics_data: logistics_res['data'] = json.loads(logistics_data) basic_data['logistics'] = logistics_res return basic_data
def buynow_settlement(self, sku_id, number): goods_obj = Goods.fetch_by_sku(sku_id) sku_info = goods_obj.get_sku_info(sku_id) item = { "sku_id": int(sku_id), "thumbnail": sku_info['image_url'], "price": sku_info['price'], "number": number, "name": sku_info["goods_name"], "attrs": sku_info['property'].split(';') } settlement_info = { 'total_amount': sku_info['price'] * number, 'amount_payable': sku_info['price'] * number, 'item_list': [item] } return settlement_info
def create(cls, entry, user_id, receiver, item_list, total_amount, amount_payable, pintuan_id=-1): total_amount = total_amount amount_payable = amount_payable order_model_obj = OrderModel.objects.create( entry=entry, order_sn='18' + str(sn()), user_id=user_id, total_amount=total_amount, amount_payable=amount_payable, postage=0, pintuan_id=pintuan_id) order_obj = cls(order_model_obj.pk, model_obj=order_model_obj) for item in item_list: sku_id = item['sku_id'] number = item['number'] goods_obj = Goods.fetch_by_sku(sku_id) sku_info = goods_obj.get_sku_info(sku_id) order_obj.add_order_item(sku_info['goods_id'], sku_info['id'], sku_info['goods_name'], sku_info['property'], sku_info['price'], number) order_obj.set_receiver( receiver.get('name'), receiver.get('province'), receiver.get('city'), receiver.get('district'), receiver.get('address'), receiver.get('mobile'), receiver.get('zipcode', ''), ) return order_obj
def pintuan_join_settlement(self, pintuan_sn, number): pintuan_obj = Pintuan.get_pintuan_by_sn(pintuan_sn) pintuan_info = pintuan_obj.read() sku_id = pintuan_info['sku_id'] pintuan_price = pintuan_info['price'] goods_obj = Goods.fetch_by_sku(sku_id) sku_info = goods_obj.get_sku_info(sku_id) item = { "sku_id": int(sku_id), "thumbnail": sku_info['image_url'], "price": pintuan_price, "number": number, "name": sku_info["goods_name"], "attrs": sku_info['property'].split(';') } settlement_info = { 'pintuan_price': pintuan_price, 'total_amount': pintuan_price * number, 'amount_payable': pintuan_price * number, 'item_list': [item] } return settlement_info