128 lines
3.0 KiB
Java
128 lines
3.0 KiB
Java
package com.rsscripting.rswarehouse.dao;
|
|
|
|
import com.rsscripting.rswarehouse.database.DatabaseManager;
|
|
import com.rsscripting.rswarehouse.utils.ItemStackUtils;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.sql.Statement;
|
|
import java.time.LocalDate;
|
|
|
|
public class InventoryCreationDAO {
|
|
|
|
public static Integer createParentInventoryItem(
|
|
ItemStack item,
|
|
String discovererUuid,
|
|
String discovererName
|
|
) {
|
|
|
|
int inventoryId =
|
|
createInventoryItem(
|
|
item,
|
|
0,
|
|
discovererUuid,
|
|
discovererName
|
|
);
|
|
|
|
if (inventoryId == -1) {
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
WarehouseReferenceDAO.createWarehouseItemReference(
|
|
item,
|
|
inventoryId
|
|
);
|
|
|
|
return inventoryId;
|
|
|
|
}
|
|
|
|
public static int createInventoryItem(
|
|
ItemStack item,
|
|
long quantity,
|
|
String discovererUuid,
|
|
String discovererName
|
|
) {
|
|
|
|
String serializedItem =
|
|
ItemStackUtils.serialize(
|
|
item
|
|
);
|
|
|
|
try (
|
|
|
|
Connection connection =
|
|
DatabaseManager.getConnection()
|
|
|
|
) {
|
|
|
|
PreparedStatement statement =
|
|
connection.prepareStatement(
|
|
"""
|
|
|
|
INSERT INTO warehouse_inventory (
|
|
serialized_item,
|
|
quantity,
|
|
discoverer_uuid,
|
|
discoverer_name,
|
|
discovered_date
|
|
)
|
|
VALUES (?, ?, ?, ?, ?)
|
|
""",
|
|
Statement.RETURN_GENERATED_KEYS
|
|
);
|
|
|
|
statement.setString(
|
|
1,
|
|
serializedItem
|
|
);
|
|
|
|
statement.setLong(
|
|
2,
|
|
quantity
|
|
);
|
|
|
|
statement.setString(
|
|
3,
|
|
discovererUuid
|
|
);
|
|
|
|
statement.setString(
|
|
4,
|
|
discovererName
|
|
);
|
|
|
|
statement.setString(
|
|
5,
|
|
LocalDate.now().toString()
|
|
);
|
|
|
|
statement.executeUpdate();
|
|
|
|
ResultSet resultSet =
|
|
statement.getGeneratedKeys();
|
|
|
|
if (resultSet.next()) {
|
|
|
|
return resultSet.getInt(
|
|
1
|
|
);
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|