- Implement AllegroShipmentService for managing shipment creation and status checks. - Create ShipmentController to handle shipment preparation and label downloading. - Introduce ShipmentPackageRepository for database interactions related to shipment packages. - Add methods for retrieving delivery services, creating shipments, checking creation status, and downloading labels. - Implement address validation and token management for Allegro API integration.
38 lines
1.6 KiB
SQL
38 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS shipment_packages (
|
|
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
order_id BIGINT UNSIGNED NOT NULL,
|
|
provider VARCHAR(32) NOT NULL DEFAULT 'allegro_wza',
|
|
delivery_method_id VARCHAR(128) NULL,
|
|
credentials_id VARCHAR(128) NULL,
|
|
command_id VARCHAR(64) NULL,
|
|
shipment_id VARCHAR(64) NULL,
|
|
tracking_number VARCHAR(128) NULL,
|
|
status VARCHAR(32) NOT NULL DEFAULT 'draft',
|
|
carrier_id VARCHAR(64) NULL,
|
|
package_type VARCHAR(16) NOT NULL DEFAULT 'PACKAGE',
|
|
weight_kg DECIMAL(8,3) NULL,
|
|
length_cm DECIMAL(8,1) NULL,
|
|
width_cm DECIMAL(8,1) NULL,
|
|
height_cm DECIMAL(8,1) NULL,
|
|
insurance_amount DECIMAL(12,2) NULL,
|
|
insurance_currency CHAR(3) NULL,
|
|
cod_amount DECIMAL(12,2) NULL,
|
|
cod_currency CHAR(3) NULL,
|
|
label_format VARCHAR(8) NOT NULL DEFAULT 'PDF',
|
|
label_path VARCHAR(512) NULL,
|
|
receiver_point_id VARCHAR(64) NULL,
|
|
sender_point_id VARCHAR(64) NULL,
|
|
reference_number VARCHAR(128) NULL,
|
|
error_message TEXT NULL,
|
|
payload_json JSON NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
KEY shipment_packages_order_idx (order_id),
|
|
KEY shipment_packages_status_idx (status),
|
|
KEY shipment_packages_tracking_idx (tracking_number),
|
|
KEY shipment_packages_command_idx (command_id),
|
|
CONSTRAINT shipment_packages_order_fk
|
|
FOREIGN KEY (order_id) REFERENCES orders(id)
|
|
ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|