コード例 #1
0
ファイル: app.py プロジェクト: angelopez10/LaTiendaBackEnd
def checkout(id):
    if not request.is_json:
        return jsonify({"msg": "Missing JSON in request"}), 400

    ItemCompradoId = request.json.get('ItemProductoCompradoId', None)
    CantidaProductoComprado = request.json.get('CantidaProductoComprado', None)
    precioProductoSeleccionado = request.json.get('precioProductoSeleccionado',
                                                  None)
    usuario_id = request.json.get('usuario_id', None)
    totalFactura = request.json.get('totalFactura', None)
    totalProductosComprados = request.json.get('totalProductosComprados', None)
    usuarioActual = request.json.get('usuarioActual', None)
    emailTiendaSeleccionada = request.json.get('emailTiendaSeleccionada', None)

    email = Usuario.query.filter_by(id=usuario_id).first().email
    productos = Productos.query.filter(Productos.id.in_(ItemCompradoId)).all()

    usua = Factura()
    usua.usuario_factura_id = usuario_id
    usua.total = totalFactura
    db.session.add(usua)
    db.session.commit()

    factura_id = Factura.query.order_by(Factura.id.desc()).first().id
    print(factura_id)
    i = 0
    for prod in productos:
        usua = Detallefactura()
        usua.productos_comprados = int(CantidaProductoComprado[i])
        usua.factura_id = factura_id
        usua.producto_id = int(ItemCompradoId[i])
        usua.precio = int(precioProductoSeleccionado[i])
        db.session.add(usua)
        db.session.commit()
        i = i + 1

    i = 0
    for prod in productos:

        prod.stock = int(prod.stock) - int(CantidaProductoComprado[i])
        i = i + 1
        db.session.commit()

    html = render_template('email-compraProductos.html',
                           users=totalProductosComprados)
    send_mail("Compra", "*****@*****.**", email, html)
    html = render_template('email-ProductosComprados.html',
                           usuarioactual=usuarioActual,
                           users=totalProductosComprados)
    send_mail("Productos comprados", "*****@*****.**",
              emailTiendaSeleccionada, html)

    datosProductos = Productos.query.filter_by(tienda_id=id).all()
    datosProductos = list(
        map(lambda datosProductos: datosProductos.serialize(), datosProductos))

    return jsonify(datosProductos), 200