Skip to content
  • Andrey Azeev's avatar
    13968368
    feat(consumer): тип сообщения update.prices для обновления цен (prep, заглушка) · 13968368
    Andrey Azeev authored
    Подготовка обработки нового типа сообщения в KaspiConsumer: обновление
    цен офферов через новый Kaspi API. Пока — тип, схема и заглушка-хендлер;
    реальный функционал отдельным шагом.
    
    - RabbitQueueType.UPDATE_PRICES = "update.prices" (+ не конфликтует с
      занятым scraper'ом update.offers).
    - Схема MessageUpdatePrices: prices list[UpdatePriceItem{vendorCode, price>=0}]
      1..100, uuid (для резолва account → extensions.token), trace_id.
    - KaspiConsumer.handle_message: ветка UPDATE_PRICES → update_prices(mongo).
    - services/kaspi_offers.update_prices — no-op заглушка (лог приёма + ack,
      не роняет сообщение). TODO: резолв account по uuid → KaspiApiNew.update_offers.
    - Тесты: 15 (схема max100/uuid/price>=0/trace_id, роутинг консюмера,
      no-op контракт). Полный прогон: 747 passed.
    
    CHANGELOG: запись в [Unreleased] → Added.
    13968368
    feat(consumer): тип сообщения update.prices для обновления цен (prep, заглушка)
    Andrey Azeev authored
    Подготовка обработки нового типа сообщения в KaspiConsumer: обновление
    цен офферов через новый Kaspi API. Пока — тип, схема и заглушка-хендлер;
    реальный функционал отдельным шагом.
    
    - RabbitQueueType.UPDATE_PRICES = "update.prices" (+ не конфликтует с
      занятым scraper'ом update.offers).
    - Схема MessageUpdatePrices: prices list[UpdatePriceItem{vendorCode, price>=0}]
      1..100, uuid (для резолва account → extensions.token), trace_id.
    - KaspiConsumer.handle_message: ветка UPDATE_PRICES → update_prices(mongo).
    - services/kaspi_offers.update_prices — no-op заглушка (лог приёма + ack,
      не роняет сообщение). TODO: резолв account по uuid → KaspiApiNew.update_offers.
    - Тесты: 15 (схема max100/uuid/price>=0/trace_id, роутинг консюмера,
      no-op контракт). Полный прогон: 747 passed.
    
    CHANGELOG: запись в [Unreleased] → Added.
Loading