예제 #1
0
파일: views.py 프로젝트: qu6zhi/btctrader-1
def order_submit(request):
    if request.method != 'POST':
        return HttpResponseNotAllowed(['POST'])

    market_abbrev = request.POST['market']
    amount = float(request.POST['amount'])
    market_order = ('market_order' in request.POST.keys)
    price = float(request.POST['price'])
    order_type = request.POST['type']

    market = Market.objects.get(abbrev=market_abbrev)
    order = Order()
    order.market = market
    order.amount = amount
    order.type = order_type
    if market_order:
        order.market_order = True
    else:
        order.market_order = False
        order.price = price

    order.save()
    market.market_api.api_execute_order(order)

    return render_to_response('trader/json/success_plain.json',
                              content_type="application/json",
                              context_instance=RequestContext(request))
예제 #2
0
def add_order_item():

    data = request.get_json()
    products = data['products']
    total_price = 0
    new_order_public_id = str(uuid.uuid4())
    new_order = Order(
        public_id=new_order_public_id,
        customer_id=data['customer_id'],
        store_id=data['store_id'],
        date=datetime.datetime.utcnow(),
        payment_method=data['payment_method'],
        payment_confirmation_id=data['payment_confirmation_id']
    )
    print(new_order)
    db.session.add(new_order)
    db.session.commit()

    for product in products:
        new_product = OrderItem(
            public_id=str(uuid.uuid4()),
            product_id=product['product_id'],
            quantity=product['quantity'],
            price=product['price'],
            order_obj=new_order
        )
        total_price = total_price + (product['quantity']*product['price'])
        db.session.add(new_product)
        db.session.commit()

        new_order = Order.query.filter_by(public_id=new_order_public_id).first()
        new_order.amount = total_price
        db.session.commit()

    return jsonify({'message': 'order created'})
예제 #3
0
def booking():
    #接收参数
    dict=request.form
    house_id=int(dict.get('house_id'))
    start_date=datetime.strptime(dict.get('start_date'),'%Y-%m-%d')
    end_date=datetime.strptime(dict.get('end_date'),'%Y-%m-%d')
    #验证有效性
    if not all([house_id,start_date,end_date]):
        return jsonify(code=RET.PARAMERR,msg=ret_map[RET.PARAMERR])
    if start_date>end_date:
        return jsonify(code=RET.PARAMERR,msg=ret_map[RET.PARAMERR])
    #查询房屋对象
    try:
        house=House.query.get(house_id)
    except:
        logging.error(u'下订单-查询房屋出错,房屋编号%d'%house_id)
        return jsonify(code=RET.DBERR,msg=ret_map[RET.DBERR])
    #创建订单对象
    order=Order()
    order.user_id=session['user_id']
    order.house_id=house_id
    order.begin_date=start_date
    order.end_date=end_date
    order.days=(end_date-start_date).days+1
    order.house_price=house.price
    order.amount=order.days*order.house_price

    try:
        order.add_update()
    except:
        logging.error(u'下订单-出错')
        return jsonify(code=RET.DBERR,msg=ret_map[RET.DBERR])

    #返回信息
    return jsonify(code=RET.OK)
예제 #4
0
def write_order_in_bd(form):

    order = Order()
    order.email = form.email.data
    order.adress = form.adress.data
    order.phone = form.phone.data
    order.status = "в работе"
    order.amount = session["amount_order"]
    order.time = datetime.datetime.now()

    db.session.add(order)

    for meal in session["cart"]:
        meal = db.session.query(Meal).get(meal["id"])
        order.meals.append(meal)

    user = db.session.query(User).get(session["user"]["id"])
    user.orders.append(order)
    db.session.add(user)

    db.session.commit()
예제 #5
0
파일: views.py 프로젝트: avinogra/week5
def cart():
    deleted = session['deleted']
    session['deleted'] = False
    form = OrderForm()
    if form.validate_on_submit():
        order = Order()
        user = db.session.query(User).get(session['user_id'])
        order.user_id = user.id
        order.amount = sum(list(map(int, session.get('cart_price'))))
        order.name = flask.request.form.get('name')
        order.phone = flask.request.form.get('phone')
        order.address = flask.request.form.get('address')
        order.mail = flask.request.form.get('mail')
        order.date = datetime.now()
        order.status = 'Принят'
        meals = list(map(int, session.get('cart_id')))
        for meal in meals:
            meal = db.session.query(Meal).get(meal)
            order.meals.append(meal)
        db.session.add(order)
        db.session.commit()
        session['cart_id'] = []
        session['cart_price'] = []
        return redirect('/ordered/')

    else:
        meals = []
        for meal in session.get('cart_id'):
            meal = db.session.query(Meal).get(meal)
            meals.append(meal)
            # Проверяем прошел ли пользователь аутентификацию
        if session.get('user_id'):
            user = db.session.query(User).get(session['user_id'])
            form.mail.data = user.mail
    return render_template('cart.html',
                           meals=meals,
                           form=form,
                           deleted=deleted)