Complete Order and OrderDao
This commit is contained in:
@@ -1,25 +1,70 @@
|
|||||||
package dev.dao;
|
package dev.dao;
|
||||||
|
|
||||||
|
import dev.database.DatabaseConnection;
|
||||||
import dev.model.Order;
|
import dev.model.Order;
|
||||||
|
|
||||||
|
import java.sql.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class OrderDao {
|
public class OrderDao {
|
||||||
|
|
||||||
public int save(Order order) {
|
public int save(Order order) {
|
||||||
|
|
||||||
// TODO:
|
String sql = "INSERT INTO orders (user_id, total_price) VALUES (?, ?) RETURNING id";
|
||||||
// Insert order and return generated id
|
|
||||||
|
try (
|
||||||
|
Connection connection = DatabaseConnection.getConnection();
|
||||||
|
PreparedStatement statement = connection.prepareStatement(sql)
|
||||||
|
) {
|
||||||
|
|
||||||
|
statement.setInt(1, order.getUserId());
|
||||||
|
statement.setDouble(2, order.getTotalPrice());
|
||||||
|
|
||||||
|
ResultSet resultSet = statement.executeQuery();
|
||||||
|
|
||||||
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt("id");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error saving order: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Order> findByUserId(int userId) {
|
public List<Order> findByUserId(int userId) {
|
||||||
|
|
||||||
// TODO:
|
String sql = "SELECT id, user_id, created_at, total_price FROM orders WHERE user_id = ?";
|
||||||
// Retrieve all orders of a user
|
|
||||||
|
|
||||||
return null;
|
List<Order> orders = new ArrayList<>();
|
||||||
|
|
||||||
|
try (
|
||||||
|
Connection connection = DatabaseConnection.getConnection();
|
||||||
|
PreparedStatement statement = connection.prepareStatement(sql)
|
||||||
|
) {
|
||||||
|
|
||||||
|
statement.setInt(1, userId);
|
||||||
|
|
||||||
|
ResultSet resultSet = statement.executeQuery();
|
||||||
|
|
||||||
|
while (resultSet.next()) {
|
||||||
|
|
||||||
|
Order order = new Order();
|
||||||
|
|
||||||
|
order.setId(resultSet.getInt("id"));
|
||||||
|
order.setUserId(resultSet.getInt("user_id"));
|
||||||
|
order.setCreatedAt(resultSet.getTimestamp("created_at").toLocalDateTime());
|
||||||
|
order.setTotalPrice(resultSet.getDouble("total_price"));
|
||||||
|
|
||||||
|
orders.add(order);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println("Error loading orders: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return orders;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -12,4 +12,35 @@ public class Order {
|
|||||||
|
|
||||||
private double totalPrice;
|
private double totalPrice;
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(int userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getCreatedAt() {
|
||||||
|
return createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreatedAt(LocalDateTime createdAt) {
|
||||||
|
this.createdAt = createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getTotalPrice() {
|
||||||
|
return totalPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotalPrice(double totalPrice) {
|
||||||
|
this.totalPrice = totalPrice;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user