예제 #1
0
파일: views.py 프로젝트: bucketzxm/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')
예제 #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 GetLineItemData(self):
        lineItem = LineItem()
        lineItem.type = "suit"
        lineItem.quantity = 1

        return lineItem