Funcionalidad de reseñas y boton de eliminar pedido
This commit is contained in:
parent
7134e014ba
commit
5e7eebc3fb
|
@ -448,6 +448,46 @@ public class App
|
||||||
return responseJson.toString();
|
return responseJson.toString();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
post("/frontend/eliminarPedido", (request, response) -> {
|
||||||
|
response.type("application/json");
|
||||||
|
String payload = request.body();
|
||||||
|
JsonElement jsonElement = JsonParser.parseString(payload);
|
||||||
|
JsonObject jsonObject = jsonElement.getAsJsonObject();
|
||||||
|
String idPedido = jsonObject.get("datosId").getAsJsonObject().get("idPedido").getAsString();
|
||||||
|
|
||||||
|
// Lógica para eliminar el pedido usando el ID
|
||||||
|
boolean eliminado = DAO.eliminarPedido(idPedido);
|
||||||
|
|
||||||
|
JsonObject respuesta = new JsonObject();
|
||||||
|
if (eliminado) {
|
||||||
|
respuesta.addProperty("msj", "Pedido eliminado exitosamente.");
|
||||||
|
} else {
|
||||||
|
respuesta.addProperty("msj", "No se encontró ningún pedido con el ID especificado.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return respuesta.toString();
|
||||||
|
});
|
||||||
|
|
||||||
|
post("/frontend/actualizarEstatusPedido", (request, response) -> {
|
||||||
|
response.type("application/json");
|
||||||
|
String payload = request.body();
|
||||||
|
JsonElement jsonElement = JsonParser.parseString(payload);
|
||||||
|
JsonObject jsonObject = jsonElement.getAsJsonObject();
|
||||||
|
String idPedido = jsonObject.get("datosId").getAsJsonObject().get("idPedido").getAsString();
|
||||||
|
String nuevoEstatus = jsonObject.get("datosId").getAsJsonObject().get("nuevoEstatus").getAsString();
|
||||||
|
|
||||||
|
// Lógica para actualizar el estatus del pedido usando el ID
|
||||||
|
boolean actualizado = DAO.actualizarEstatusPedido(idPedido, nuevoEstatus);
|
||||||
|
|
||||||
|
JsonObject respuesta = new JsonObject();
|
||||||
|
if (actualizado) {
|
||||||
|
respuesta.addProperty("msj", "Pedido actualizado exitosamente.");
|
||||||
|
} else {
|
||||||
|
respuesta.addProperty("msj", "No se encontró ningún pedido con el ID especificado.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return respuesta.toString();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
post("/frontend/obtenerPedidosDePastelesAdmin", (request, response) -> {
|
post("/frontend/obtenerPedidosDePastelesAdmin", (request, response) -> {
|
||||||
|
@ -484,6 +524,96 @@ public class App
|
||||||
return responseJson.toString();
|
return responseJson.toString();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
post("/frontend/agregarResenia", (request, response) -> {
|
||||||
|
response.type("application/json");
|
||||||
|
String payload = request.body();
|
||||||
|
|
||||||
|
try {
|
||||||
|
JsonElement jsonElement = JsonParser.parseString(payload);
|
||||||
|
JsonObject jsonObject = jsonElement.getAsJsonObject();
|
||||||
|
|
||||||
|
// Obtener los datos de la reseña del JSON recibido
|
||||||
|
String nombreUsuario = jsonObject.get("nombreUsuario").getAsString();
|
||||||
|
String idPastel = jsonObject.get("idPastel").getAsString();
|
||||||
|
String contenido = jsonObject.get("contenido").getAsString();
|
||||||
|
int estrellas = jsonObject.get("estrellas").getAsInt();
|
||||||
|
|
||||||
|
// Crear un nuevo objeto Reseñas y asignar los valores recibidos
|
||||||
|
Reseñas reseña = new Reseñas();
|
||||||
|
reseña.setIdReseña(UUID.randomUUID().toString());
|
||||||
|
reseña.setNombreUsuario(nombreUsuario);
|
||||||
|
reseña.setIdPastel(idPastel);
|
||||||
|
reseña.setContenido(contenido);
|
||||||
|
reseña.setEstrellas(estrellas);
|
||||||
|
|
||||||
|
// Puedes realizar acciones adicionales con la información de la reseña
|
||||||
|
System.out.println("Reseña: " + reseña);
|
||||||
|
|
||||||
|
// Lógica para agregar la reseña en la base de datos
|
||||||
|
String mensaje = DAO.agregarReseña(reseña);
|
||||||
|
|
||||||
|
// Crear la respuesta
|
||||||
|
JsonObject respuesta = new JsonObject();
|
||||||
|
respuesta.addProperty("msj", mensaje);
|
||||||
|
|
||||||
|
return gson.toJson(respuesta);
|
||||||
|
} catch (JsonSyntaxException e) {
|
||||||
|
// Manejar errores de formato JSON
|
||||||
|
System.out.println("Error en el formato JSON: " + e.getMessage());
|
||||||
|
response.status(400); // Bad Request
|
||||||
|
return gson.toJson("Error en el formato JSON");
|
||||||
|
} catch (Exception e) {
|
||||||
|
// Manejar otros errores
|
||||||
|
System.out.println("Error al agregar la reseña: " + e.getMessage());
|
||||||
|
response.status(500); // Internal Server Error
|
||||||
|
return gson.toJson("Error al agregar la reseña");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
post("/frontend/obtenerReseniasPorPastel", (request, response) -> {
|
||||||
|
response.type("application/json");
|
||||||
|
|
||||||
|
// Obtener el ID del pastel desde el cuerpo de la solicitud
|
||||||
|
JsonObject requestBody = new Gson().fromJson(request.body(), JsonObject.class);
|
||||||
|
String idPastel = requestBody.get("idPastel").getAsString();
|
||||||
|
|
||||||
|
// Obtener las reseñas para el pastel
|
||||||
|
List<Reseñas> reseñas = DAO.obtenerReseñasPorPastel(idPastel);
|
||||||
|
|
||||||
|
System.out.println("ID del pastel"+idPastel);
|
||||||
|
|
||||||
|
int numeroDeReseñas = reseñas.size();
|
||||||
|
|
||||||
|
System.out.println("Número de reseñas: " + numeroDeReseñas);
|
||||||
|
|
||||||
|
// Construir un objeto JSON con las reseñas
|
||||||
|
JsonArray reseñasArray = new JsonArray();
|
||||||
|
for (Reseñas reseña : reseñas) {
|
||||||
|
JsonObject reseñaJson = new JsonObject();
|
||||||
|
reseñaJson.addProperty("id_reseña", reseña.getIdReseña());
|
||||||
|
reseñaJson.addProperty("nombre_usuario", reseña.getNombreUsuario());
|
||||||
|
reseñaJson.addProperty("id_pastel", reseña.getIdPastel());
|
||||||
|
reseñaJson.addProperty("contenido", reseña.getContenido());
|
||||||
|
reseñaJson.addProperty("estrellas", reseña.getEstrellas());
|
||||||
|
reseñasArray.add(reseñaJson);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Crear el objeto final que contiene todas las reseñas
|
||||||
|
JsonObject responseJson = new JsonObject();
|
||||||
|
responseJson.add("reseñas", reseñasArray);
|
||||||
|
|
||||||
|
System.out.println(responseJson);
|
||||||
|
return responseJson.toString();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,10 @@ import java.sql.DriverManager;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
public class Conexion {
|
public class Conexion {
|
||||||
private static String url = "jdbc:mysql://127.0.0.1:3306/dbpastel";
|
private static String url = "jdbc:mysql://127.0.0.1:3306/dbpastel00";
|
||||||
private static String driverName = "com.mysql.cj.jdbc.Driver";
|
private static String driverName = "com.mysql.cj.jdbc.Driver";
|
||||||
private static String username = "root";
|
private static String username = "pastel00";
|
||||||
private static String password = "cesarin_11";
|
private static String password = "pastel00";
|
||||||
// variable de conexion
|
// variable de conexion
|
||||||
private static Connection connection = null;
|
private static Connection connection = null;
|
||||||
|
|
||||||
|
|
|
@ -455,6 +455,166 @@ public static List<Pasteles> dameTodosLosPedidosDePasteles2() {
|
||||||
return resultado;
|
return resultado;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String agregarReseña(Reseñas reseña) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
String mensaje = "";
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "INSERT INTO reseñas (nombreUsuario, idPastel, contenido, estrellas) VALUES (?,?,?,?)";
|
||||||
|
stm = conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, reseña.getNombreUsuario());
|
||||||
|
stm.setString(2, reseña.getIdPastel());
|
||||||
|
stm.setString(3, reseña.getContenido());
|
||||||
|
stm.setInt(4, reseña.getEstrellas());
|
||||||
|
|
||||||
|
if (stm.executeUpdate() > 0)
|
||||||
|
mensaje = "Reseña agregada con éxito";
|
||||||
|
else
|
||||||
|
mensaje = "No se pudo agregar la reseña";
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error al ejecutar la consulta: " + e.getMessage());
|
||||||
|
} finally {
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error al cerrar el statement: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (conn != null) {
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error al cerrar la conexión: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return mensaje;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Reseñas> obtenerReseñasPorPastel(String idPastel) {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement pstmt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
|
List<Reseñas> resultado = new ArrayList<>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
String sql = "SELECT r.idReseña, r.nombreUsuario, r.idPastel, r.contenido, r.estrellas "
|
||||||
|
+ "FROM reseñas r "
|
||||||
|
+ "WHERE r.idPastel = ?";
|
||||||
|
pstmt = conn.prepareStatement(sql);
|
||||||
|
pstmt.setString(1, idPastel);
|
||||||
|
rs = pstmt.executeQuery();
|
||||||
|
while (rs.next()) {
|
||||||
|
Reseñas reseña = new Reseñas(
|
||||||
|
rs.getString("idReseña"),
|
||||||
|
rs.getString("nombreUsuario"),
|
||||||
|
rs.getString("idPastel"),
|
||||||
|
rs.getString("contenido"),
|
||||||
|
rs.getInt("estrellas")
|
||||||
|
);
|
||||||
|
resultado.add(reseña);
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (rs != null) rs.close();
|
||||||
|
if (pstmt != null) pstmt.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultado;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean eliminarPedido(String idPedido) {
|
||||||
|
System.out.println("ENTRO AL METODO: eliminarPedido");
|
||||||
|
Statement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
|
||||||
|
try {
|
||||||
|
String sql = "DELETE FROM pedidos WHERE idPedido = '" + idPedido + "'";
|
||||||
|
stm = (Statement) conn.createStatement();
|
||||||
|
int filasAfectadas = stm.executeUpdate(sql);
|
||||||
|
|
||||||
|
// Verificamos si se eliminó alguna fila
|
||||||
|
if (filasAfectadas > 0) {
|
||||||
|
System.out.println("Pedido eliminado exitosamente.");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
System.out.println("No se encontró ningún pedido con el ID especificado.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error al eliminar el pedido: " + e);
|
||||||
|
} finally {
|
||||||
|
// Cierre de recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean actualizarEstatusPedido(String idPedido, String nuevoEstatus) {
|
||||||
|
System.out.println("ENTRO AL METODO: actualizarEstatusPedido");
|
||||||
|
Statement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
|
||||||
|
try {
|
||||||
|
String sql = "UPDATE pedidos SET estatus = '" + nuevoEstatus + "' WHERE idPedido = '" + idPedido + "'";
|
||||||
|
stm = (Statement) conn.createStatement();
|
||||||
|
int filasAfectadas = stm.executeUpdate(sql);
|
||||||
|
|
||||||
|
// Verificamos si se actualizó alguna fila
|
||||||
|
if (filasAfectadas > 0) {
|
||||||
|
System.out.println("Pedido actualizado exitosamente.");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
System.out.println("No se encontró ningún pedido con el ID especificado.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error al actualizar el pedido: " + e);
|
||||||
|
} finally {
|
||||||
|
// Cierre de recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package mx.uv;
|
||||||
|
|
||||||
|
public class Reseñas {
|
||||||
|
|
||||||
|
String idReseña;
|
||||||
|
String nombreUsuario;
|
||||||
|
String idPastel;
|
||||||
|
String contenido;
|
||||||
|
int estrellas;
|
||||||
|
|
||||||
|
public String getIdReseña() {
|
||||||
|
return idReseña;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIdReseña(String idReseña) {
|
||||||
|
this.idReseña = idReseña;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNombreUsuario() {
|
||||||
|
return nombreUsuario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNombreUsuario(String nombreUsuario) {
|
||||||
|
this.nombreUsuario = nombreUsuario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIdPastel() {
|
||||||
|
return idPastel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIdPastel(String idPastel) {
|
||||||
|
this.idPastel = idPastel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContenido() {
|
||||||
|
return contenido;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContenido(String contenido) {
|
||||||
|
this.contenido = contenido;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getEstrellas() {
|
||||||
|
return estrellas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEstrellas(int estrellas) {
|
||||||
|
this.estrellas = estrellas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
return "Reseñas [idReseña=" + idReseña + ", nombreUsuario=" + nombreUsuario + ", idPastel=" + idPastel + ", contenido=" + contenido + ", estrellas=" + estrellas + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
public Reseñas(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Reseñas(String idReseña, String nombreUsuario, String idPastel, String contenido, int estrellas) {
|
||||||
|
this.idReseña = idReseña;
|
||||||
|
this.nombreUsuario = nombreUsuario;
|
||||||
|
this.idPastel = idPastel;
|
||||||
|
this.contenido = contenido;
|
||||||
|
this.estrellas = estrellas;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue