create wb-api parser

This commit is contained in:
Fiden committed 2026-07-01 03:28:17 +03:00
commit 7a78dfc7aa
61 files changed
+11245

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
SELECT 'wb_sales' AS table_name, COUNT(*) AS rows_count FROM wb_sales
UNION ALL SELECT 'wb_orders', COUNT(*) FROM wb_orders
UNION ALL SELECT 'wb_incomes', COUNT(*) FROM wb_incomes
UNION ALL SELECT 'wb_stocks', COUNT(*) FROM wb_stocks
UNION ALL SELECT 'wb_sync_logs', COUNT(*) FROM wb_sync_logs;
SELECT endpoint, MAX(page) AS last_page, SUM(items_count) AS total_items, MAX(created_at) AS last_seen
FROM wb_sync_logs
GROUP BY endpoint
ORDER BY endpoint;
+160
View File
@@ -0,0 +1,160 @@
DROP DATABASE IF EXISTS laravel_dev;
CREATE DATABASE laravel_dev
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'laravel'@'localhost' IDENTIFIED BY 'laravel';
CREATE USER IF NOT EXISTS 'laravel'@'127.0.0.1' IDENTIFIED BY 'laravel';
ALTER USER 'laravel'@'localhost' IDENTIFIED BY 'laravel';
ALTER USER 'laravel'@'127.0.0.1' IDENTIFIED BY 'laravel';
GRANT SELECT, INSERT, UPDATE, DELETE ON laravel_dev.* TO 'laravel'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON laravel_dev.* TO 'laravel'@'127.0.0.1';
FLUSH PRIVILEGES;
USE laravel_dev;
CREATE TABLE wb_incomes (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
source_uid CHAR(64) NOT NULL,
income_id BIGINT NULL,
number VARCHAR(128) NULL,
income_date DATE NULL,
date_close DATE NULL,
last_change_date DATETIME NULL,
warehouse_name VARCHAR(255) NULL,
supplier_article VARCHAR(255) NULL,
tech_size VARCHAR(128) NULL,
barcode BIGINT NULL,
nm_id BIGINT NULL,
quantity INT NULL,
total_price DECIMAL(18,4) NULL,
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL,
PRIMARY KEY (id),
UNIQUE KEY wb_incomes_source_uid_unique (source_uid),
KEY wb_incomes_income_date_index (income_date),
KEY wb_incomes_income_id_index (income_id),
KEY wb_incomes_nm_id_index (nm_id),
KEY wb_incomes_barcode_index (barcode)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE wb_orders (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
source_uid CHAR(64) NOT NULL,
order_date DATETIME NULL,
last_change_date DATETIME NULL,
cancel_dt DATETIME NULL,
odid VARCHAR(128) NULL,
g_number VARCHAR(128) NULL,
income_id BIGINT NULL,
warehouse_name VARCHAR(255) NULL,
supplier_article VARCHAR(255) NULL,
tech_size VARCHAR(128) NULL,
barcode BIGINT NULL,
nm_id BIGINT NULL,
subject VARCHAR(255) NULL,
category VARCHAR(255) NULL,
brand VARCHAR(255) NULL,
oblast VARCHAR(255) NULL,
total_price DECIMAL(18,4) NULL,
discount_percent INT NULL,
is_cancel TINYINT(1) NULL,
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL,
PRIMARY KEY (id),
UNIQUE KEY wb_orders_source_uid_unique (source_uid),
KEY wb_orders_order_date_index (order_date),
KEY wb_orders_g_number_index (g_number),
KEY wb_orders_nm_id_index (nm_id),
KEY wb_orders_barcode_index (barcode),
KEY wb_orders_is_cancel_index (is_cancel)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE wb_sales (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
source_uid CHAR(64) NOT NULL,
sale_date DATETIME NULL,
last_change_date DATETIME NULL,
sale_id VARCHAR(128) NULL,
odid VARCHAR(128) NULL,
g_number VARCHAR(128) NULL,
income_id BIGINT NULL,
warehouse_name VARCHAR(255) NULL,
country_name VARCHAR(255) NULL,
oblast_okrug_name VARCHAR(255) NULL,
region_name VARCHAR(255) NULL,
supplier_article VARCHAR(255) NULL,
tech_size VARCHAR(128) NULL,
barcode BIGINT NULL,
nm_id BIGINT NULL,
subject VARCHAR(255) NULL,
category VARCHAR(255) NULL,
brand VARCHAR(255) NULL,
total_price DECIMAL(18,4) NULL,
discount_percent INT NULL,
spp INT NULL,
for_pay DECIMAL(18,4) NULL,
finished_price DECIMAL(18,4) NULL,
price_with_disc DECIMAL(18,4) NULL,
promo_code_discount DECIMAL(18,4) NULL,
is_supply TINYINT(1) NULL,
is_realization TINYINT(1) NULL,
is_storno TINYINT(1) NULL,
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL,
PRIMARY KEY (id),
UNIQUE KEY wb_sales_source_uid_unique (source_uid),
KEY wb_sales_sale_date_index (sale_date),
KEY wb_sales_sale_id_index (sale_id),
KEY wb_sales_nm_id_index (nm_id),
KEY wb_sales_barcode_index (barcode),
KEY wb_sales_region_name_index (region_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE wb_stocks (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
source_uid CHAR(64) NOT NULL,
stock_date DATE NULL,
last_change_date DATETIME NULL,
warehouse_name VARCHAR(255) NULL,
supplier_article VARCHAR(255) NULL,
tech_size VARCHAR(128) NULL,
barcode BIGINT NULL,
nm_id BIGINT NULL,
subject VARCHAR(255) NULL,
category VARCHAR(255) NULL,
brand VARCHAR(255) NULL,
quantity INT NULL,
quantity_full INT NULL,
in_way_to_client INT NULL,
in_way_from_client INT NULL,
price DECIMAL(18,4) NULL,
discount INT NULL,
sc_code BIGINT NULL,
is_supply TINYINT(1) NULL,
is_realization TINYINT(1) NULL,
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL,
PRIMARY KEY (id),
UNIQUE KEY wb_stocks_source_uid_unique (source_uid),
KEY wb_stocks_stock_date_index (stock_date),
KEY wb_stocks_nm_id_index (nm_id),
KEY wb_stocks_barcode_index (barcode),
KEY wb_stocks_warehouse_name_index (warehouse_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE wb_sync_logs (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
endpoint VARCHAR(32) NOT NULL,
page INT UNSIGNED NULL,
items_count INT UNSIGNED NOT NULL DEFAULT 0,
status VARCHAR(32) NOT NULL DEFAULT 'ok',
message TEXT NULL,
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL,
PRIMARY KEY (id),
KEY wb_sync_logs_endpoint_index (endpoint),
KEY wb_sync_logs_status_index (status),
KEY wb_sync_logs_created_at_index (created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+4
View File
@@ -0,0 +1,4 @@
SELECT * FROM wb_incomes LIMIT 3;
SELECT * FROM wb_orders LIMIT 3;
SELECT * FROM wb_sales LIMIT 3;
SELECT * FROM wb_stocks LIMIT 3;