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
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')
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
def GetLineItemData(self): lineItem = LineItem() lineItem.type = "suit" lineItem.quantity = 1 return lineItem