Example #1
0
 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
Example #2
0
    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
Example #3
0
 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
Example #4
0
    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
Example #5
0
    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