### Переоценка, мини-приложение #### Описание Мобильное web-приложение, для проведения переоценки в магазине. **Термины** * **Задание на переоценку** (**task**) - это группа товаров, которые нужно переоценить. * **Товар** (**item**) - одиночный товар в переоценке. Имеет флаг "done" (выполнено) **Функционал** 1. **Форма "задание переоценки"** - товары переоценки. Содержит: * текстовый заголовок * список товаров: * картинка, артикул, наименование * цвет, размер * цена_план, цена_новая, скидка, остаток * количество к обработке (совпадает с остатком) * переключатель выполнения Действия: * печать ценников (выбранный товар) * фильтр по товарной группе, текстовый поиск * сканирование * выполнить выбранные позиции (done = true) ### Авторизация см. описание [здесь](auth.md) > реализована на уровне proxypatcher ### API #### Стандартный ответ API ```json { "result": true, "message": "текст ошибки, если есть иначе пусто" } ``` ### 1. Первая очередь методов ----- #### 1.1 Получение задачи --- ##### GET /mshop/{dep}/reprice/task **query-параметры:** * `task_id`: "task_id" > Значения для `task_id`: > * daily - за вчера и за сегодня (2 дня) > * week - за последнюю неделю > * YYYY-MM-DD/YYYY-MM-DD - за выбранный период ответ (вернуть как JSON): ```json { "result": true, "message": "", "task": { "id": "task_id", "title": "Переоценка м001", "dep": "001", "comment": "коммент", "items": [ { "id": "id позиции", "product_id": "код товара для печати ценника", "article": "123-091", "color": "цвет", "size": "размер", "sector": "сектор", "group": "группа", "image": "https://.../112209-0.jpg", "title": "ТАПОЧКИ", "base_price": 1000, "price": 800, "disc": "20%", "label_color": "Белый | Красный", "rest": 4, "qty": 4, "done": false, "done_updated": "2026-01-01 12:21:11" } ] } } ``` #### 1.2 Обновление состояния элемента --- #### POST /mshop/{dep}/reprice/update_item **query-параметры:** * `task_id`: "task_id" * `item_id`: "item_id" REQUEST BODY ```json { "done": true } ``` > done: true | false ***ответ:*** ```json { "result": true, "message": "", "update": { "items": [ { "id": "item_id", "done": true, "done_updated": "2026-01-01 12:12:00" } ] } } ``` > В ответе опциональный блок update - фреймворк обновляет данные в списке по указанию бэка. > `id` - ключ, остальные поля - новые значения которые нужно обновить. #### 1.3 Сканирование товара (поиск по коду, серии, шк) --- #### GET /mshop/{dep}/reprice/find_item **query-параметры:** * `task_id`: "task_id" * `code`: "код хар-ки | серия | шк | маркировка" ответ: ```json { "result": true, "message": "", "item_id": "id" } ``` * `result`: true | false * `message`: "" | "код не опознан" | "товар не в задании" * `item_id`: id позиции в списке товаров (соответствует task.items.id) если найден