Warehouse Service
Warehouse Service
Описание API
GET /api/v1/warehouse/{orderItemUid}
– информация о вещах на складе;POST /api/v1/warehouse
– запрос на получение вещи со склада по новому заказу;POST /api/v1/warehouse/{orderItemUid}/warranty
– запрос решения по гарантии;DELETE /api/v1/warehouse/{orderItemUid}
– вернуть заказ на склад.
Логика работы
Таблица items
содержит информацию о товарах на складе (модель, размер, количество),
order_items
содержит связь товара на складе с заказом. Если приходит заказ (метод 2), то количество товара items
уменьшается и создается запись в таблице order_items
. Если заказ отменяется, то количество items
увеличивается, а
для order_items
устанавливается флаг closed
.
Структура таблиц
CREATE TABLE items
(
id SERIAL
CONSTRAINT items_pkey PRIMARY KEY,
available_count INTEGER NOT NULL,
model VARCHAR(255) NOT NULL,
size VARCHAR(255) NOT NULL
);
CREATE TABLE order_item
(
id SERIAL
CONSTRAINT order_item_pkey PRIMARY KEY,
canceled BOOLEAN,
order_item_uid uuid NOT NULL
CONSTRAINT idx_order_item_order_item_uid UNIQUE,
order_uid uuid NOT NULL,
item_id INTEGER
CONSTRAINT fk_order_item_item_id REFERENCES items
);
Данные в БД
id | available_count | model | size |
---|---|---|---|
1 | 10000 | Lego 8070 | M |
2 | 10000 | Lego 42070 | L |
2 | 10000 | Lego 8880 | L |