def create_line_item(self, product, event, order):
        quantity = event['rated_by_billing'][
            'units'] + event['rated_by_billing']['units'] / 100

        line_item = LineItem(product=product, quantity=quantity, order=order)

        line_item.save()

        return line_item
예제 #2
0
파일: views.py 프로젝트: yang123vc/ordersys
def add_to_cart(request, num=1):
    if request.method == "POST":
        food_id = request.POST['foodId']
        food = Food.objects.get(id=food_id)
        cart_session = request.session.get('cart', None)
        # Lineitem save in cart
        # session is empty
        if not cart_session:
            # 购物车中不存在物品的情况
            cart = Cart()
            li = LineItem()
            li.food = food
            li.unite_price = food.price
            li.quantity = num
            li.save()
            cart.add_product(li, num)
        else:
            cart = pickle_load(cart_session)

            has_food = False
            for li in cart.items:
                if li.food.id == food.id:
                    li.quantity += num
                    has_food = True
                    cart.total_price += food.price * num
            if not has_food:
                li = LineItem()
                li.food = food
                li.unite_price = food.price
                li.quantity = num
                li.save()
                cart.add_product(li, num)
        cart.total_price = round(cart.total_price, 2)
        data = pickle_dump(cart)
        request.session['cart'] = data
        return HttpResponse(cart.total_price)
    else:
        logger.error('Get Request to add_to_cart')
        return HttpResponse('request method err')
예제 #3
0
def route_order_create(name, description, buyer_id, seller_id, lineitems):
    buyer = Company.query.filter(Company.id == buyer_id).first()
    seller = Company.query.filter(Company.id == seller_id).first()
    order_items = []
    order = Order(
        name=name,
        description=description,
        buyer=buyer,
        seller=seller,
    )
    for l in lineitems:
        item = LineItem(
            quantity=l['quantity'], unit_price=l['unit_price'],
        )
        item.product = Product.query.filter(Product.id == l['product_id']).first()
        order.products.append(item)
    db.session.add(order)
    db.session.commit()
    db.session.refresh(order)
    return order
예제 #4
0
    def GetLineItemData(self):
        lineItem = LineItem()
        lineItem.type = "suit"
        lineItem.quantity = 1

        return lineItem